Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 20.11.2013, 15:59
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от wreder Посмотреть сообщение
Мой вариант:

var next = function(){
	
	if (current.next().length){
		      	if (current.next().hasClass('show')) {
		             $('.rotator ul li:first');
				}
				else{
					 current.next();
				}						 
	}
	else{
		$('.rotator ul li:first');
	}	
};
Вот так вроде будет по-проще...

var next = function(){
	if (current.next().length){
		if (!current.next().hasClass('show')) {
			return current.next();
		};						 
	};
	return $('.rotator ul li:first');
};
Ответить с цитированием
  #12 (permalink)  
Старый 20.11.2013, 16:14
Интересующийся
Отправить личное сообщение для wreder Посмотреть профиль Найти все сообщения от wreder
 
Регистрация: 05.09.2013
Сообщений: 22

ksa,
что-то то же не аналогичен, не работает у меня....
Ответить с цитированием
  #13 (permalink)  
Старый 20.11.2013, 16:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от wreder
не работает у меня
Так ты как потом используешь ту функцию next()?
Ответить с цитированием
  #14 (permalink)  
Старый 20.11.2013, 16:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Сообщение от wreder
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('.rotator ul li:first') :current.next()) : $('.rotator ul li:first'));
Аналог
var next = (function(){
	if (current.next().length){
		if (!current.next().hasClass('show')) {
			return current.next();
		};						 
	};
	return $('.rotator ul li:first');
})();
Ответить с цитированием
  #15 (permalink)  
Старый 20.11.2013, 16:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,219

Или так...

var next = $('.rotator ul li:first');
if (current.next().length){
	if (!current.next().hasClass('show')) {
		next = current.next();
	};						 
};
Ответить с цитированием
  #16 (permalink)  
Старый 20.11.2013, 16:52
Интересующийся
Отправить личное сообщение для wreder Посмотреть профиль Найти все сообщения от wreder
 
Регистрация: 05.09.2013
Сообщений: 22

ksa,
по ней каждый раз идет выбор следующего элемента, к которому применяется addClass и всякие анимации...

выбор через поиск следующего из всех элементов в том же (что и current) контейнере, до тех пор пока lenght = 1, как только lenght = 0 выбираем первый из всех элемент.... вот собсно...



ДА! ksa, Спасибо! Оба кода рабочие! Просто чумовые!

Спасибо Вам за отзывчивость и оперативность!

Последний раз редактировалось wreder, 20.11.2013 в 16:59.
Ответить с цитированием
  #17 (permalink)  
Старый 20.11.2013, 22:17
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от wreder
Собственно сам нашел объяснение конструкции, она называется "Тройной оператор"
Всю дорогу называл его тернарным оператором
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как обработать бесконечный цикл? Iktash Элементы интерфейса 3 16.11.2012 10:26
Как организовать RichEdit arma Элементы интерфейса 2 18.02.2010 14:57
форма как в ExtJS 2 magistr_bender Общие вопросы Javascript 0 11.09.2008 16:01