Я хочу, чтобы функция Jquery была преобразована в JS, и у меня возникли проблемы с ее реализацией. Код JQuery закомментирован, он работает точно так, как должен. Основная функция принимает параметр с выбранным параметром в меню выбора (обязательно выберите параметр LeftAndZoom), а затем примените выбранную анимацию к контейнеру.Преобразование кода JQuery в ванильный JS, метод выделения значения параметра и метод 'один' не работает
Это основная функция, я просто не могу понять, как преобразовать ее в JS.
$('#imageContainer').removeClass().addClass(x + ' animation').one
('webkitAnimationEnd mozAnimationEnd MSAnimationEnd
oanimationend animationend', function(){
$(this).removeClass();
});
Это JS Я до сих пор пробовал много вещей, но пока не помог.
function testAnim(x) {
var container = document.getElementById("imageContainer").
container.className = "";
container.classList.add(x + ' animation');
this.container.className = "";
}
Я знаю, что это не может работать, но это все же лучше, чем я пробовал.
И это функция accompaigning, чтобы извлечь значение параметра из списка опций:
$(document).ready(function(){
$('.triggerAnimation').click(function(e){
e.preventDefault();
var anim = $('.jsanimations').val();
testAnim(anim);
});
$('.js--animations').change(function(){
var anim = $(this).val();
testAnim(anim);
});
});
My JS для этого:
var trigger = document.querySelector(".triggerAnimation");
var JSanimation = document.querySelector(".js--animations");
trigger.addEventListener('click', function(e){
e.preventDefault();
var anim = JSanimation.options[this.selectedIndex].innerText;
testAnim(anim);
JSanimation.addEventListener("change", function(){
var anim = this.options[this.selectedIndex].innerText;
});
});
Главная проблема здесь есть, я не знаю, как реализовать эквивалентный метод JS «один», как сохранить «этот» контекст и как добавить функцию обратного вызова в «один» метод
А В верхней части этого, я получаю сообщение об ошибке «Некопать TypeError: Невозможно прочитать свойства» «null»
Похоже, что выбор значения параметра также не работает.
Ссылка на перо:
http://codepen.io/damianocel/pen/KdobyK
Пожалуйста, разместите ваш код ошибки непосредственно в этом вопросе. –
Есть ли причина, по которой у вас есть два дефиса в классе для второго вызова 'querySelector'? 'js - animations', похоже, не в вашем HTML, а' jsanimations' есть. Это будет учитывать TypeError. –
@squint, я нашел этот код в другом месте давным-давно, и ... никогда не имел смысла для меня, но он работал с кодом jquery. Я знаю, это странно. Но изменение этого не помогает. –