Написание моей функции nextPage () в качестве глобальной функции, чтобы к ней мог получить доступ событие onclick

0

Моя цель - заставить все анимации работать, вызывая отдельные элементы вместо того, чтобы просто использовать "рандомизатор" или "список меню Dl".

Прежде всего здесь JSFiddle. Я оставил его неизменным и идентичным оригиналу (за исключением того, что многоуровневое меню не отображается, не знаю, почему: http://jsfiddle.net/EbhdM/3/

Это оригинальная демонстрация http://tympanus.net/Development/PageTransitions/

Я пытаюсь решить это с месяца, читая статьи javascript и экспериментируя с вещами.

Я намерен использовать случаи в моей функции nextPage(), поэтому я удалил функцию on click в HTML и написал следующее:

<button type="button" data-animation="1" class="btn">PAGE 1</button>

Это позволяет мне писать столько кнопок, сколько хочу, если у меня есть класс = "btn"

Я связал событие on click с кнопками, которые имеют класс btn, чтобы вызвать мои анимации в функции nextPage()

$(".btn").on('click', function (event) {
    var dataAnimation = $(this).attr('data-animation');
    nextPage(dataAnimation);
});

значение в моей анимации данных будет моим "случаем" в функции nextPage(). Номер случая означает номер анимации. Есть 67 анимаций.

Пока мне удалось привязать его к анимации с помощью кнопок, но я не могу его оживить. Im действительно стартер, когда дело доходит до javascript, но я старался изо всех сил. Я не знаю решений, и я был бы очень рад, если бы вы помогли мне решить эту проблему, объяснив мне, что я сделал не так.

Здесь JsFiddle о том, что я говорю о http://jsfiddle.net/7rGkd/1/

Я предполагаю, что это сработает, если я напишу функцию nextPage() как глобальную функцию, чтобы к ней можно было получить событие onclick, но как? Как это написать?

  • 0
    Он не должен быть глобальным, он просто должен находиться в той же области видимости, что и функция предка функции обработчика щелчков. Вы вообще не поместили его в jsfiddle, поэтому трудно сказать, что вы делаете неправильно (кроме попытки вызвать несуществующую функцию).
  • 0
    Функции-обработчики должны быть глобальными, только если вы ссылаетесь на них из атрибута onclick HTML-элемента. Если вы вызываете их из кода Javascript, соблюдаются нормальные правила области видимости.
Теги:

1 ответ

0

В вашей jsfiddle вы не определили вашу следующую функцию nextPage()...

Тем не менее, попробуйте это?

nextPage = function(arg) {
    //your code
}

не добавляя ключевое слово var, вы делаете его глобальным

Ещё вопросы

Сообщество Overcoder
Наверх
Меню