Как сделать что-то на определенных встроенных CSS с jquery? - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу что-то изменить на своей странице, когда к одному элементу добавляется css. Я пробовал это:

if ($('.my-slider').css('transform') == 'translate3d(0px, 0px, 0px)') {
   console.log('Logged');
}

Это изображение, чтобы доказать, что этот встроенный стиль действительно на странице: Изображение с источником моей страницы

jQuery плагин «вертикальная карусель» порождает этот стиль. Код для этого плагина выше этого кода, это не проблема. Идея состоит в том, чтобы что-то менять при каждом изменении стиля (значения преобразования меняются), но по какой-то причине здесь ничего не регистрируется в консоли ... Может кто-нибудь помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

С помощью вас, ребята, это решено! Я предоставлю ниже рабочую версию кода, на случай, если кому-то еще понадобится:

var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutationRecord) {
        if ((target.style.transform) == 'translate3d(0px, 0px, 0px)') {
            console.log('logged');
        }
    });

var target = document.querySelector('.my-slider');
observer.observe(target, { attributes : true, attributeFilter : ['style'] });
0 голосов
/ 18 апреля 2020

Я думаю, что вы должны использовать функцию indexof.

if ($('.my-slider').attr('style') && $('.my-slider').attr('style').indexOf('translate3d(0px, 0px, 0px)') >= 0) {
   console.log('Logged');
}
...