Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не получается выбрать элемент внутри родительского jQuery

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Deonis
Отправлено: 20 Мая, 2011 - 13:36:06
Post Id



Посетитель


Покинул форум
Сообщений всего: 298
Дата рег-ции: Нояб. 2009  


Помог: 14 раз(а)




jQuery только начал изучать, посему не обессудьте. Задача сделать эффект "раскрывающихся дверей электрички" при наведении курсора на объект.
Рабочий вариант , который у меня получился, содержит два отслеживания события:
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.      $('.but_exter').hover(
  3.          function(){
  4.              $(this).stop(1);
  5.              $(this).animate({'background-position':'200px'},750);
  6.          },
  7.          function(){
  8.              $(this).stop(1);
  9.              $(this).animate({'background-position':'100px'},300);
  10.          }
  11.      );
  12.      $('.but_exter > div').hover(
  13.          function(){
  14.              $(this).stop(1);
  15.              $(this).animate({'background-position':'-200px'},750);
  16.          },
  17.          function(){
  18.              $(this).stop(1);
  19.              $(this).animate({'background-position':'-100px'},300);
  20.          }
  21.      );
  22.  });


Но изначально, я пытался сделать две операции, в одном блоке кода:
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.         $('.but_exter').hover(
  3.                 function(){
  4.                         $(this).stop(1);
  5.                         $(this).animate({'background-position':'200px'},750);
  6.                         $(this + " > div").stop(1);
  7.                         $(this + " > div").animate({'background-position':'-200px'},750);
  8.                 },
  9.                 function(){
  10.                         $(this).stop(1);
  11.                         $(this).animate({'background-position':'100px'},300);
  12.                         $(this + " > div").stop(1);
  13.                         $(this + " > div").animate({'background-position':'-100px'},300);
  14.                 }
  15.         );
  16. });

Однако, работать не захотело. Подскажите пожалуйста, в чем может быть загвоздка?
P.S. Перейдя по ссылке можно увидеть HTML, CSS, jQuery, которые я использую
(Добавление)
Упс! Вопрос можно закрыть, уже нашел ответ )) Пару дней как начал разбираться, поэтому не знал что нужно дочерний элемент выбирать так children([expr]). В итоге получил следующий код:
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.   $('.but_exter').hover(
  3.     function(){
  4.       $(this).stop(1);
  5.       $(this).animate({'background-position':'200px'},750);
  6.       $(this).children('div').stop(1);
  7.       $(this).children('div').animate({'background-position':'-200px'},750);
  8.     },
  9.     function(){
  10.       $(this).stop(1);
  11.       $(this).animate({'background-position':'100px'},300);
  12.       $(this).children('div').stop(1);
  13.       $(this).children('div').animate({'background-position':'-100px'},300);
  14.     }
  15.   );
  16. });


И второй более короткий вариант, если вдруг кому-то понадобится:
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.   $('.but_exter').hover(
  3.     function(){
  4.       $(this).stop(1).animate({'background-position':'200px'},750);
  5.       $("div",this).stop(1).animate({'background-position':'-200px'},750);
  6.     },
  7.     function(){
  8.       $(this).stop(1).animate({'background-position':'100px'},300);
  9.       $("div",this).stop(1).animate({'background-position':'-100px'},300);
  10.     }
  11.   );
  12. });

(Отредактировано автором: 20 Мая, 2011 - 16:34:40)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB