Не работает toggle
День добрый, я вот пишу скрипт чтоб по клику на блок изображение сворачивалось и текст блока менялся, а при повторном клике блок разворачивался и текст блока обратно менялся.
Вот сам код: $('#div_tog').toggle(function(){ $('#div_img').fadeOut(1000); $(this).text('Развернуть'); }, function(){ $('#div_img').fadeIn(1000); $(this).text('Свернуть'); }); Вставляю вместо toggle hover, сам код работает, а когда toggle сам блок мгновенно сворачивается и всё, в чём здесь может быть проблема и как осуществить этот скрипт с помощью toggle? |
Потому что в последней версии jQuery больше нет этого метода (по крайней мере в этом применении)
|
Это катастрофа! А как же тогда мне осуществить данную задачу, есть идеи?
|
Самое простое решение - флаг.
var flag = new Boolean(true);//Создаем логическую переменную (со значением true) $('selector').click(function() { if (flag) {//Если flag == true flag = false;//Меняем значение переменной flag func1.call(this);//Вызываем func1 с контекстом этой функции (т.е. в вызванной функции this = this этой функции) } else {//Если flag не равно true flag = true; func2.call(this); } return false; }); function func1() {...}; function func2() {...}; Но в общем никто не мешает вам пользоваться не последней версией jQuery. |
jQuery написан на javascript и никакой магии в нем нет. Любой его метод можно написать самостоятельно.
|
Цитата:
Потому что у меня чё-то всё равно не получается данную задачу решить. |
Вы решение с флагом пробовали? Что говорит консоль? Сделайте тестовый пример.
|
Первый раз пробовал, ошибка была в if (flag) иф проперти ай ди,
Потом ошибки не было, но скрипт не работал, сейчас вот так делаю: var flag = new Boolean(true); $('#formHide').click(function(){ if (flag) { flag = false; func1.call(this); }else { flag = true; func2.call(this); } return false; }); function func1(){ $('#forheader').fadeOut(3000)}; function func2(){ $('#forheader').fadeIn(3000)}; Всё заработало! Спасибо бааальшое. flag это реально круто. |
Но я всё равно не очень понимаю как это работает, буду разбираться сейчас на другом примере. Если есть ссылки на материалы по этой теме, поделитесь плиз.
|
|
Часовой пояс GMT +3, время: 09:56. |