Дешифратор коротких URL-адресов   •   Online-инструменты
533 просм
0 комм
Поделиться:

Что делать, если поочередное выполнение функций не работает через toggle в jQuery?

В одной из статей на нашем сайте я рассказывал то, как реализовать поочередное выполнение функций в jQuery.

Но суть в том, что метод, который там используется, подходит только для библиотеки jQuery старых версий, и при использовании новых вы не достигнете желаемого результата.

На одном из проектов я тоже столкнулся с этой проблемой, а поскольку решать ее было нужно, то вот как я это сделал.

Решение – это написать свою подобную функцию, которая могла бы воспроизводить функционал старого toggle.

Функция:

$.fn.oldtoggle = function() {

	var b = arguments;
	
	return this.each(function (i, el) {
	
		var a = function () {
		
			var c = 0;
			
			return function () {
			
				b[c++ % b.length].apply(el, arguments);
				
			}
			
		}();
		
		$(el).click(a);
		
	});
	
};

И пример ее использования:

$(".link").oldtoggle(function() {

	$(this).css({"color": "red"});

}, function() {

	$(this).css({"color": "blue"});

});

Функцию вы можете использовать в своих нуждах, а сам по себе способ подойдет для любой версии jQuery.

0
комментариев
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.