Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
1

Изменить переменную и вызвать функцию с новым значением переменной

13.03.2016, 13:28. Показов 730. Ответов 3

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Есть такой код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
jQuery(document).ready(function slider(){
 
                var sc=$(".slider img").size();
                var count=2;
                var necount;
 
                for (var i=sc;i>=1;i--)
                    $("#prev").after('<li><div id="'+(i+sc)+'" class="point"></div></li>');
                $(".slider #1").animate({opacity: '1'}, 1000);
                $("#"+(sc+1)).animate({backgroundColor: '#ffcc66'}, 1000);
 
                setInterval(function slides() {
                    for (necount=1;necount<=sc;necount++){
                        if (necount===count)necount++;
                        $(".slider #"+necount).animate({opacity: '0'}, 1000);
                        $(".slider #"+count).animate({opacity: '1'}, 1000);
                        $("#"+(count+sc)).animate({backgroundColor: '#ffcc66'}, 1000);
                        $("#"+(necount+sc)).animate({backgroundColor: '#cccccc'}, 1000);
                    }
                    if(count==sc) {
                        count=1;
                    } else {
                        count++;
                    }
                    $("#prev").click(function() {
                        count=3;
                        ?????
                    });
                }, 4000);
            });
Изначально count=2, функция slides стартует, все прекрасно. Необходимо при нажатии на блок $"(#prev)" присвоить count=count-1 и стартануть slides с новым значением count'а. Если сильно не менять функцию, возможно ли вместо ????? вызвать заново slides? Или.. может быть есть какой-то аналог goto? Заранее спасибо.

Добавлено через 13 часов 41 минуту
Возник попутный вопрос.
Javascript
1
2
3
4
5
6
7
8
9
$("#"+(sc+1)).animate({backgroundColor: '#ffcc66', borderRadius: '10px'}, 1000);
 
    setInterval(function slides() {
        for (necount=1;necount<=sc;necount++){
            if (necount===count)necount++;
            $(".slider #"+necount).animate({opacity: '0'}, 1000);
            $(".slider #"+count).animate({opacity: '1'}, 1000);
            $("#"+(count+sc)).animate({backgroundColor: '#ffcc66', borderRadius: '10px'}, 1000);
            $("#"+(necount+sc)).animate({backgroundColor: '#cccccc', borderRadius: '0'}, 1000);
Я добавил к анимации изменения background изменение borderRadius, а как можно добавить функцию hover? Т.е.:
Javascript
1
2
3
4
5
$("#"+(sc+1)).animate({
    backgroundColor: '#ffcc66', borderRadius: '10px'
}, 1000, function(){
    $(this).hover({backgroundColor: '#ffff00'})
});
Вот так все продолжает работать, но hover не срабатывает. Где ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2016, 13:28
Ответы с готовыми решениями:

как вытащить из for(...){...; b=5;...} переменную b с новым значением чтоб потом ее использовать
как вытащить из for(...){...; b=5;...} переменную b с новым значением чтоб потом ее использовать.

Как вызвать функцию с новым аргументом при нажатии кнопки в Tkinter?
Всем привет) Начал осваивать питон и столкнулся с такой вот темой, при запуске срабатывает команда...

Написать функцию, которая возвращает целую переменную со значением числа
Число в 16-ой системе заданно в виде массива int,каждый элемент массива соответствует одному...

Вызвать функцию по ее имени в текстовой переменной
В общем, задача следующая: String function=&quot;myfunction()&quot; Теперь ниже мне каким-то образом...

3
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
16.03.2016, 08:13  [ТС] 2
Уважаемые форумчане, неужели ни у кого нет никаких идей? Или это слишком сложно? Или, может быть, это слишком легкий вопрос, который не требует внимания? Неужели никто никогда не делал слайдеры самостоятельно? Задача, как я понимаю, для более-менее опытных программистов (в число которых я, пока что, не вхожу) - не сложная, разве нет? Если не трудно, подкиньте идею реализации перехода по слайдам через prev/current/next.. Не люблю я готовые слайдеры с интернета тянуть, пытаюсь разобраться сам, но вот.. встрял в тупик(( Помогите пожалуйста!!
Заранее спасибо!
0
31 / 22 / 8
Регистрация: 02.03.2016
Сообщений: 64
16.03.2016, 09:33 3
присвоить count=count-1 и стартануть slides с новым значением count'а
Наверно сначала надо остановить setInterval.

Может быть как-то так:

Javascript
1
2
3
4
5
6
7
8
9
10
11
var intervalID = setInterval(function slides() {
....
}, 4000);
 
$("#prev").click(function(){
    clearInterval(intervalID);
    count=count-1;
    intervalID = setInterval(function slides() {
        ....
    }, 4000);
})

А с hover: попробуйте сделать css-класс и добавлять его

CSS
1
.hover_class:hover {backgroundColor: '#ffff00'}
Javascript
1
2
3
4
$("#"+(sc+1)).animate({
    ....
    $(this).addClass("hover_class");
});
0
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
16.03.2016, 23:23  [ТС] 4
Спасибо, попробую завтра! С hover у меня была идея toggleClass или, как вы предложили, addClass/removeClass, но думал без этого обойтись)) Теперь не думаю
0
16.03.2016, 23:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2016, 23:23
Помогаю со студенческими работами здесь

Как вызвать значение переменной в другую функцию
Как вызвать значение переменной типа string в другую функцию не используя ref, out

Как вызвать функцию в Qt с переменной, которая берется из другой формы?
Есть две формы (firstForm и MainWindow). В firstForm присутствует SpinBOX, из которого мне нужно...

Как вызвать функцию, имя которой указано в переменной типа String?
гугл не помог(

Возможно ли вызвать функцию, имя которой хранится в переменной типа char* ?
Или возможно ли создать указатель на функцию по имени в переменной. Извиняюсь за неконкретный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru