Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый Сегодня, 02:46
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 142

Функция jQuery.fn скрыть/показать элемент
Здравствуйте
Есть пользовательская функция blink3, при помощи котрой можно поочередно скрывать/показывать элемент (элемент мигает).
Функция не моя, поэтому ничего по существу сказать больше не могу.

вот валидация инпутов, если инпут не прошел валидацию - рядом расроложенный span начинает "мигать"
вопрос в следующим - как остановить скрытие/показ span, если конкретный инпут прошел валидацию (без setInterval и setTimeout)
<button id="go">go</button><br>
<span id="err1">error</span>  <input type="text" id="inp1" /><br>
<span id="err2">error</span>  <input type="text" id="inp2" />

$("#go").click(function(){
	if($("#inp1").val() != "тест"){
            $("#err1").blink3(-1, 500);
	}else{
		$("#err1").blink3(0); //так остановить скрытие/показ не получается
	}
	
	if($("#inp2").val() != "тест"){
            $("#err2").blink3(-1, 500);
	}else{
		$("#err2").blink3(0);
	}
});

// функция blink3
// $("#myID").blink3(-1, 500);
// первый параметр (-1) - бесконечное количество скрытий/показов
// второй параметр (500) - продолжительность выполнения fadeTo
jQuery.fn.extend({
	blink3: function (i, duration){
		var c = i;
		if(i===-1 || c-- > 0){
			$(this).fadeTo(duration, 0.1, function (){
				$(this).fadeTo(duration, 1, function (){
					$(this).blink3(c, duration);  
				}); 
			});
		}
	}
});

Что я пробовал сделать:
1) так остановить не получается - $("#err1").blink3(0, 0);

2) также пробовал еще один вариант -
в функцию blink3 добавил условие if(run == false){return};
а в условии валидации инпута
if($("#inp2").val() != "тест"){
$("#err2").blink3(-1, 500);
}else{
run = false;
}
в этом варианте происходит остановка "мигания" всех спанов, а мне нужна остановка только конкретного спана..
Ответить с цитированием
  #2 (permalink)  
Старый Сегодня, 11:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,141

Сообщение от sashgera
.blink3(0);
.stop(true).css("opacity", "");
Ответить с цитированием
  #3 (permalink)  
Старый Сегодня, 15:23
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 142

рони, большое спасибо!
//.noblink3();
$.fn.noblink3 = function(){
	$(this).stop(true).css("opacity", "");
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повернуть элемент мышкой LADYX Элементы интерфейса 2 26.04.2021 21:33
не вызывается функция при изменении option soft4you Общие вопросы Javascript 1 23.07.2014 17:41
Выбрать элемент у родителя которого сын это элемент по которому кликнули MalikSPB Events/DOM/Window 8 30.12.2012 12:22
Кодировка при использовании Ajax Nichloas AJAX и COMET 9 17.09.2009 16:06
Скрыть/показать объект Prowler Общие вопросы Javascript 2 10.07.2008 08:23