Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2011, 15:40
Интересующийся
Отправить личное сообщение для Решатель Посмотреть профиль Найти все сообщения от Решатель
 
Регистрация: 09.10.2011
Сообщений: 29

Почему данное условие не верно
Здравствуйте. Научите меня пожалуйста как нужно обрабатывать условие на равенство? Вот допустим есть код:
$('.navig img').click(function(){
    for (var i = 0; i<$(this).size(); i++)
        if ( $(this)==$('.navig img:eq('+i.toString+')') )
        {
		alert('Клик по '+i.toString+'ому изображению');
	});

Но он не рабочий. Почему?
На страничке 4 картинки. Все они в блоке div с классом '.navig'.

Как такое условие обработать?
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2011, 16:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,147

Сообщение от Решатель
Но он не рабочий. Почему?
Встречный вопрос... Расскажи почему он должен быть рабочим?

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

Например задачку по выводу сообщения "Клик по N-ому изображению" вообще лучше решать не так...

Сообщение от Решатель
Как такое условие обработать?
Вспомнилась памятка старого учителя по принципам работы с таблицами Брадиса...
Принципа всего 2.
1. Не лезьть туда, куда не нужно.
2. Не искать того, чего там нет.
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2011, 16:24
Интересующийся
Отправить личное сообщение для Решатель Посмотреть профиль Найти все сообщения от Решатель
 
Регистрация: 09.10.2011
Сообщений: 29

Цитата:
Расскажи почему он должен быть рабочим?
Я просто до этого программировал только desktopные приложения... Мне трудно сейчас вникать в это все, но нужно.
1)Ну вот смотрите, сначала я так понимаю нужно селектором выбрать все нужные изображения:
$(.navig img) // Это есть

2)Далее повесить к этому массиву обработчик. Это тоже есть.
3)Далее перебираем все элементы этого массива и сравниваем тот элемент по которому был клик со всеми остальными.
if ( $(this)==$('.navig img:eq('+i.toString+')') )//Это есть

4)Далее производим действия с данным объектом. Это alert.
Что не так?

Цитата:
Например задачку по выводу сообщения "Клик по N-ому изображению" вообще лучше решать не так...
А как? Только пооптимальнее... Не хочу писать 4 обработчика для каждого изображения отдельно....
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2011, 16:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,147

Сообщение от Решатель
3)Далее перебираем все элементы этого массива и сравниваем тот элемент по которому был клик со всеми остальными.
if ( $(this)==$('.navig img:eq('+i.toString+')') )//Это есть
Вот это уже зачем?
Зачем всегда (!) при клике шариться в каком-то цикле?
Ведь уже сам обработчик уже можно задать с нужным параметром и никаких циклов потом не понадобится...

Сообщение от Решатель
Не хочу писать 4 обработчика для каждого изображения отдельно....
Один обработчик + параметр
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2011, 16:28
Интересующийся
Отправить личное сообщение для Решатель Посмотреть профиль Найти все сообщения от Решатель
 
Регистрация: 09.10.2011
Сообщений: 29

Цитата:
Ведь уже сам обработчик уже можно задать с нужным параметром и никаких циклов потом не понадобится...
А как его задать?
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2011, 16:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,147

Сообщение от Решатель
А как?
...
А как его задать?
Для нормального ответа от тебя нужен полный тестовый пример...
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2011, 16:34
Интересующийся
Отправить личное сообщение для Решатель Посмотреть профиль Найти все сообщения от Решатель
 
Регистрация: 09.10.2011
Сообщений: 29

А что, недостаточно данных, что есть 4 картинки внутри блока с классом .navig, и нужно повесить обработчик клика на каждую из них, и выводить алерт с номером картинки?
Ответить с цитированием
  #8 (permalink)  
Старый 16.10.2011, 16:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,147

Сообщение от Решатель
А что, недостаточно данных, что есть 4 картинки внутри блока с классом .navig
А напрячся и сделать работающий пример должен кто-то вместо тебя? Кому это больше нужно? Нам или тебе?
Ответить с цитированием
  #9 (permalink)  
Старый 16.10.2011, 16:37
Интересующийся
Отправить личное сообщение для Решатель Посмотреть профиль Найти все сообщения от Решатель
 
Регистрация: 09.10.2011
Сообщений: 29

Щас, пару минут.
Ответить с цитированием
  #10 (permalink)  
Старый 16.10.2011, 16:50
Интересующийся
Отправить личное сообщение для Решатель Посмотреть профиль Найти все сообщения от Решатель
 
Регистрация: 09.10.2011
Сообщений: 29

Вот прикрепляю файл...
Вложения:
Тип файла: zip site.zip (35.5 Кб, 1 просмотров)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Prototype. Одноблочное определение псевдокласса. Литеральная форма не робит. Почему? GuardCat Общие вопросы Javascript 6 03.10.2011 13:46
Не срабатывает условие AkeLLbl4 Events/DOM/Window 10 20.04.2011 21:13
Почему не определяется втарая переменная? Арман Общие вопросы Javascript 3 09.04.2011 11:14
Почему это работает? (инклуд JS в JS) Василий Б. Общие вопросы Javascript 4 11.06.2010 12:41
Условие типа для flv nemo Серверные языки и технологии 1 29.01.2010 17:52