Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как отловить изменяющий контент (https://javascript.ru/forum/jquery/49176-kak-otlovit-izmenyayushhijj-kontent.html)

cha0s 31.07.2014 23:41

Как отловить изменяющий контент
 
Такая ситуация на сайте есть слайдер, он в режиме auto-play, через н-ное время меняет картинки добавляя класс

к классу cameraContent добавляет класс cameracurrent

как мне отслеживать каждый раз это изменение? ведь от пользователя нету не какого события... слайдер сам по себе работает

BETEPAH 31.07.2014 23:50

cha0s,
1) найти слайдер с колбеком после смены картинки
2) посмотреть, где текущий слайдер добавляет класс и дописать рядом нужный код
3) установить таймер с проверкой класса

cha0s 01.08.2014 00:37

1) Этот слайдер без callbacka :(
2) Я знаю где он добавляет текущий класс, каким образом мне дописать рядом нужный код? это опять-таки-же мне надо знать что произошло событие...
3) Этот вариант подойдет только если возможно определить есть ли hover на слайдере, просто он при hover останавливается, и таймер мне надо так-же тормазить на это время, а после убирания мыши продолжать, скорей всего не особо вариант/

Может проще использовать какой-нибудь
var target = document.querySelector('#.....');

MutationObserver = window.MutationObserver || window.WebKitMutationObserver;

var observer = new MutationObserver(function(mutations, observer) {
    
..........


var config = { attributes: true, childList: true, characterData: true }
 
observer.observe(target, config);

эта штука умеет походу отслеживать изменения в контенте любые....

BETEPAH 01.08.2014 09:22

cha0s,
Проще использовать то, что проще :)
По поводу наблюдателя. Я особо не разбирался с принципом его работы, так как область его поддержки меня не устраивает.

Мне был бы проще 2й вариант. Что значит "надо знать что произошло событие"? Вы же видите код слайдера, видите, где и при каких условиях меняется класс? Вставьте там же вызов Вашей функции, вот Вам и будет колбэк.


Часовой пояс GMT +3, время: 12:25.