Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Действие при изменении стиля (https://javascript.ru/forum/misc/80817-dejjstvie-pri-izmenenii-stilya.html)

Diox 07.08.2020 19:53

Цитата:

Сообщение от voraa (Сообщение 527724)
Запоминаете, какие из интересующих вас стилей были у elem

const teststyle = () => {
// Тут проверяем не изменились ли стили у elem,
// Если изменились, делаем то, что нужно
// И перезапоминаем изменения
window.requestAnimationFrame (teststyle)
}
teststyle();


Вас любой стиль интересует?
Тогда только MutationObserver

Кстати, еще и class могут поменять

Круто, спасибо, но только там, где вы указаны "Тут проверяем не изменились ли стили у elem," - я как бы и ищу скрипт, как бы проверить, изменились они или нет )

Я вроде как нашел решение, но пока почему-то опять не работает:

selements = $('.btarifs .slick-track');
stranss = selements.css('transform');

window.Touchleave = function(event) {
qelementq = $('.btarifs .slick-track');
qtransq = qelementq.css('transform');
if(stranss==qelementq) {} else {}
}


Запомнить изначальные данные - selements.css('transform') и при убирании пальца с тача, если данные не равны, произвести изменения, но скрипт наверное не правильно составил, не работает :(

Diox 07.08.2020 20:20

По идеи так:
selements = $('.btarifs .slick-track');
strans = selements.css('transform');

window.addEventListener('load', function(){
    document.body.addEventListener('touchend', function(e){
qelementq = $('.btarifs .slick-track');
qtranq = qelementq.css('transform');
if(strans==qtranq) {alert(1);} else {alert(2);}
    }, false)
}, false)


Но if работать не хочет :(

Diox 07.08.2020 20:43

Всё, сделал, может кому-то пригодится на будущее:

window.addEventListener('touchstart', function(){
selements = $('.btarifs .slick-track');
strans = selements.css('transform');
    document.body.addEventListener('touchend', function(e){
qelementq = $('.btarifs .slick-track');
qtranq = qelementq.css('transform');
if(strans==qtranq) {} else {
	$('h2.trigger').toggleClass('active').siblings("div:visible").slideUp('slow');
	$('h2.trigger').siblings('h2').removeClass('active');
	return false;
}
    })
})


Запоминаем данные при возникновении касания к элементу.
Запоминаем новые данные после разрыва прикосновения к элементу.
Сравниваем значения, если они равны - ничего не делаем, если не равны - производим функцию.


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