Это моя первая попытка написать плагин jQuery, который, как предполагается, будет исчезать из тела, переключить класс, а затем снова открыть тело и позволить пользователю переключать класс обратно. К сожалению, на данный момент он не может переключать класс более одного раза. Как это исправить?Почему мой «плагин» выполняется только один раз?
(function($) {
$.fn.flashClass= function(classId, element){
element="body"; //overriden for testing purpose
$(this).click(function() {
$(element).fadeOut("slow", function() {
$(element).toggleClass(classId);
});
$(element).fadeIn("slow", function() {
$(element).scrollTop(height);
});
});
};
})(jQuery);
EDIT:
В конце концов, оказалось, что я вставил неправильный фрагмент с scrollTop обратного вызова неопределенной переменной высоты. После удаления и переключения .click
на .on
функция работает как шарм. Однако меня все еще интересует, почему он работал только один раз.
Что заставляет вас думать, что Что происходит во второй раз? – Pointy
Почему вы получаете параметр элемента, если вы переопределяете его с помощью 'body' ??? – gdoron
Где вы меняете классы ?! – gdoron