2012-05-24 4 views
1

Можно создать дубликат:
Class name change Event in jQueryОбнаруживать, что класс ссылку изменился

Я использую JQuery вдоль боковой bxsilder.

Мне нужен jquery, чтобы распознать изменение класса по ссылке, которая затем будет анимировать изображение вдоль линии.

На странице load div1 .pager-active перемещает изображение вдоль линии влево: 15% При следующем нажатии ссылка под div2 получает класс .pager-active и так далее.

Так что мне нужно JQuery, чтобы признать, что div2 теперь имеет класс .pager-активное вещество там оживляющий IMG налево: 50%

Ниже приведен код, который я работал, с которой работает на начальной загрузки для див1 но не обнаруживает никаких изменений класса после загрузки.

if($('#div1 .pager-active').length){ 
    $('.line img').animate({'left' : '15%'},600); 
     }; 

if($('#div2 .pager-active').length){ 
    $('.line img').animate({'left' : '50%'},600); 
     }; 

if($('#div3 .pager-active').length){ 
    $('.line img').animate({'left' : '85%'},600); 
     }; 

Любая помощь будет замечательной.

ответ

0

Вы можете получить событие изменения класса, как размещен здесь:

Class name change Event in jQuery

, но вы можете попробовать это решение тоже:

При следующем нажатии, получить идентификатор сНа, имеющий класс .pager- активный. Для этого используйте getAttr(). Как только у вас есть идентификатор, удалите его класс, добавьте класс в следующий div в строке и выполните эффект.

+0

спасибо за ссылку, я попробовал ссылку и она имела какой-то эффект, но как я мог сделать его уникальным для каждого из 3-див? в настоящее время я могу заставить его работать, когда я добавляю $ ('. line img'). animate ({'left': '5%'}, 600); – user1415102

0
var oldClass = $("#div").attr('class'); 
if(oldClass != $("#div").attr('class'); 
{ 
//Do something? 
} 

Что-то вроде этого может быть?

0

попробовать DOMAttrModified события:

document.getElementsById('div2').addEventListener('DOMAttrModified', function(e){ 
    if (e.attrName === 'style') { 
    ... 
    } 
}, false); 
+0

к сожалению, я не мог заставить это работать для меня – user1415102

Смежные вопросы