Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.11.2011, 20:09
Профессор
Отправить личное сообщение для KamalovRadik Посмотреть профиль Найти все сообщения от KamalovRadik
 
Регистрация: 03.08.2011
Сообщений: 150

Неправильно работает метод each()
$('.button2').live('click',function(){
			$('#poleGame img').each(function(){
					$('#karts').append($(this));
					$('#poleGame img').remove()})
				
			randSopernik();
			hodSoper();
			//return false;
			})



После того как я нажму кнопку , вып-ся each(), затем randSopernik(), hodUser() и опять заходит в each. Почему?
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2011, 21:53
Профессор
Отправить личное сообщение для KamalovRadik Посмотреть профиль Найти все сообщения от KamalovRadik
 
Регистрация: 03.08.2011
Сообщений: 150

в ф-ии hodSoper картинка появляется в блоке poleGame, после того как сыграет each. Но почему-то опять туда возвращается
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2011, 22:57
Профессор
Отправить личное сообщение для KamalovRadik Посмотреть профиль Найти все сообщения от KamalovRadik
 
Регистрация: 03.08.2011
Сообщений: 150

var flagBeru = false;
		$('.button2').live('click',function(){
			
			for (i=0; i< $('#poleGame img').length; i++){
				
				if(flagBeru){
					return false;
				}
				$('#karts').append($('#poleGame img').eq(i));
				flagBeru = true;
				
			
														}
			randSopernik();
			hodSoper();
			//return false;
			})


Этот код работает, скажите, в чем ошибка в первом посте?
Ответить с цитированием
  #4 (permalink)  
Старый 13.11.2011, 23:34
Профессор
Отправить личное сообщение для KamalovRadik Посмотреть профиль Найти все сообщения от KamalovRadik
 
Регистрация: 03.08.2011
Сообщений: 150

А нет, я ошибся оказывается, в 4ом посте код тоже не рабочий

И возвращается не в цикл, а в live, причём
в 1 случае - 1 раз
во 2 - 2
в 3 - 4
в 4 - 8
в 5 - 16 и т.д.

Думаю в этом есть какая-то зависимость.
Ответить с цитированием
  #5 (permalink)  
Старый 14.11.2011, 00:18
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Each удачнее чем for, можно сказать в 5ом посте исправлена ошибка.
А что такое flagBeru ? Нафига он вам нужен ?

вместо return False разумно для прерывания цикла использовать break. Прокатит только для цикла for, насколько я знаю.
Неудобство фор в том что нумерация элементов после append будет меняться. Но эта проблема легко решается если сделать выборку до цикла и сохранить её в переменную img=$('#karts').append($('#poleGame img');
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 14.11.2011 в 00:27.
Ответить с цитированием
  #6 (permalink)  
Старый 14.11.2011, 00:34
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от DjDiablo
Прокатит только для цикла for, насколько я знаю.
Хм...
i=0;
while(i!= 9000) {
 if (++i==20)
  break
};
alert(i);
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #7 (permalink)  
Старый 14.11.2011, 00:58
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Цитата:
Хм...
Не цепляйся к словам
Я имел ввиду что each не совсем цикл, а всё таки метод.
И return в callback, для each уместнее чем break.

а у него return внутри for цикла был.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 14.11.2011 в 01:04.
Ответить с цитированием
  #8 (permalink)  
Старый 14.11.2011, 01:04
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от DjDiablo
Не цепляйся к словам
Не цеплялся) Просто понял тебя неправильно.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #9 (permalink)  
Старый 15.11.2011, 23:42
Профессор
Отправить личное сообщение для KamalovRadik Посмотреть профиль Найти все сообщения от KamalovRadik
 
Регистрация: 03.08.2011
Сообщений: 150

Сделал вот так:

function forVzyal() {
            kolvoElem = $('#poleGame img').length;
            for (i=0; i< $('#poleGame img').length; i++){
                
                
                
                $('#karts').append($('#poleGame img').eq(i));
              
                                                        }
            
                                            }
                           
        
        $('.button2').click(function(){
            forVzyal();
            randSopernik();
            hodSoper();
            
          
            })
Ответить с цитированием
  #10 (permalink)  
Старый 15.11.2011, 23:43
Профессор
Отправить личное сообщение для KamalovRadik Посмотреть профиль Найти все сообщения от KamalovRadik
 
Регистрация: 03.08.2011
Сообщений: 150

Вот почему у меня после ф-ии hodSoper снова выполняется forVzyal()?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает метод kent666 Events/DOM/Window 6 04.10.2011 18:32
метод save объекта XMLDocument не работает pushkin Events/DOM/Window 0 21.01.2011 09:11
Скрипт неправильно работает в FF InviS Общие вопросы Javascript 6 11.04.2010 16:56
В Firefox 3.5.5 не работает метод POST. Какие методы лечения? javascript_pupil AJAX и COMET 1 10.12.2009 20:34
AJAX - заполнение select - неправильно работает в Mozilla 5.0 С.Тарасов AJAX и COMET 0 17.06.2009 00:58