Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как сделать срабатывание вызова скрипта Vivus при определенном классе родителя? (https://javascript.ru/forum/dom-window/57544-kak-sdelat-srabatyvanie-vyzova-skripta-vivus-pri-opredelennom-klasse-roditelya.html)

Арсений JustPuk 08.08.2015 13:37

Как сделать срабатывание вызова скрипта Vivus при определенном классе родителя?
 
Добрый день. Туплю сильно, прошу не бить )
Есть скрипт Vivus для анимации SVG. Нужно запускать анимацию только при наличии у родителя класса active. Прошу помочь.
Структура документа
<div class="class active (active добавляется динамически)">
<div class="">
<div class="">
<svg id="svg-id">
</div>
</div>
</div>

Обработчик
var svgId = new Vivus('svg-id', {start: 'manual'});
if($('#svg-id').parent(.class).hasClass('active')) svgId.play(1);

EmperioAf 08.08.2015 13:57

с помощью classList.contains можно проверить наличие класса у DOM-элемента:
https://developer.mozilla.org/ru/doc...ment/classList

Арсений JustPuk 08.08.2015 14:01

Не могли бы вы чуть подробнее. Как на практике применить.

EmperioAf 08.08.2015 14:31

ну наверное так :) :
if (document.querySelector('.class').classList.contains('active'){
    var svgId = new Vivus('svg-id', {start: 'manual'});
    if($('#svg-id').parent(.class).hasClass('active')) svgId.play(1);
}

рони 08.08.2015 15:12

Цитата:

Сообщение от Арсений JustPuk
).parents(кавычки.classкавычки).

:write:

Арсений JustPuk 08.08.2015 17:33

Ошибку Uncaught SyntaxError: Unexpected token выдает

рони 08.08.2015 18:38

Цитата:

Сообщение от Арсений JustPuk
Unexpected token выдает

на какую строку кода?

EmperioAf 08.08.2015 18:40

Цитата:

Сообщение от Арсений JustPuk (Сообщение 383251)
Ошибку Uncaught SyntaxError: Unexpected token выдает

да, действительно я случайно забыл скобку поставить, т.к. писал прямо здесь.
if (document.querySelector('.class').classList.contains('active')){
    var svgId = new Vivus('svg-id', {start: 'manual'});
    if($('#svg-id').parent(.class).hasClass('active')) svgId.play(1);
}

Арсений JustPuk 08.08.2015 19:02

Очень странно. Я думал, что этот вызов будет работать. Не могли бы вы помочь, не могу запустить анимацию

рони 08.08.2015 19:15

Цитата:

Сообщение от EmperioAf
parent(.class)

:-?


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