Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.08.2012, 19:40
Аватар для LittlePony
Кандидат Javascript-наук
Отправить личное сообщение для LittlePony Посмотреть профиль Найти все сообщения от LittlePony
 
Регистрация: 19.08.2012
Сообщений: 100

Чего я не понимаю в .each() ?
$(this.el).find("section.screen").each(function(){
			var $this = $(this)
…
			if($this.is("#control")) newHeight -= 60
			$this.height(newHeight)
		})


здесь перебираются все элементы, удовлетворяющие селектору "section.screen", и им всем задаётся хитро рассчитанная высота.
По задумке нужно одному из этих элементов ("#control") высоту уменьшить на 60px, что я пытаюсь сделать строкой if($this.is("#control")) newHeight -= 60.
Происходит не то, что я ожидаю. высота уменьшается на 60px у всех элементов, хотя id="control" определённо только у одного.
Чего я недопонимаю в принципах работы этой конструкции?
Ответить с цитированием
  #2 (permalink)  
Старый 23.08.2012, 21:00
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

$(this.el).find("section.screen").each(function(){



	if($(this).attr("id")=='control') {
	  $(this).height($(this).height()-60);
	 return false;
	}

})
Ответить с цитированием
  #3 (permalink)  
Старый 23.08.2012, 23:33
Аватар для LittlePony
Кандидат Javascript-наук
Отправить личное сообщение для LittlePony Посмотреть профиль Найти все сообщения от LittlePony
 
Регистрация: 19.08.2012
Сообщений: 100

Deff, зачем?
Ведь return false прервёт цикл, а это не нужно.
Ответить с цитированием
  #4 (permalink)  
Старый 23.08.2012, 23:41
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

$(this.el).find("section.screen#control").height(newHeight);
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 23.08.2012, 23:42
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Квери "знаю" слабо, но почему бы это
$(this.el).find("section.screen")

не заменить на это
$( "section.screen", this.el ).each( function( index, elem ) {

где elem - элемент из набора.

p.s.: а, вообще, devote, постом выше прав
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #6 (permalink)  
Старый 23.08.2012, 23:43
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от nerv_
но почему бы это
да собственно разницы никакой нет, что первый, что второй вариант одинаково вызывают find
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 23.08.2012, 23:46
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от devote
да собственно разницы никакой нет
меньше букв )
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #8 (permalink)  
Старый 23.08.2012, 23:46
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от nerv_
меньше букв )
ну если только)
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 23.08.2012, 23:53
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от LittlePony
Ведь return false прервёт цикл, а это не нужно.
Ну я не наю как Вам надо - Собственно я нашел элемент - второго ID - нет - сам сказал - нафег далее циклить ?
Ответить с цитированием
  #10 (permalink)  
Старый 24.08.2012, 00:31
Аватар для LittlePony
Кандидат Javascript-наук
Отправить личное сообщение для LittlePony Посмотреть профиль Найти все сообщения от LittlePony
 
Регистрация: 19.08.2012
Сообщений: 100

Сообщение от Deff Посмотреть сообщение
Ну я не наю как Вам надо - Собственно я нашел элемент - второго ID - нет - сам сказал - нафег далее циклить ?
На самом деле в этом цикле много чего происходит, просто всё несущественное для этого вопроса вырезано из кода. Цикл должен полностью пройти, выходить из него не надо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сайт для работы с VK API, OpenAPI. С чего начать? Win32 Серверные языки и технологии 2 29.01.2014 22:23
Что такое class и для чего они нужны нуб Общие вопросы Javascript 6 29.11.2011 23:31
С чего начать...автоматическое преобразование в bb-code в html внутри textarea javasc Events/DOM/Window 0 22.01.2011 06:37
ТУЛ - бар подскажите с чего начать lex Общие вопросы Javascript 0 12.01.2010 23:14
я ни чего не понимаю в скриптах помогите пожалуйста анно4ка Общие вопросы Javascript 3 29.07.2009 00:05