Как перейти к следующему изображению, если нажать на кнопку .next_image, но закрыть окно лицевой панели, если нажать в другом месте - PullRequest
0 голосов
/ 15 января 2011

Примечание: я изучаю jQuery, поэтому, пожалуйста, прости новый вопрос.

У меня есть галерея лайтбоксов, и я хочу, чтобы, если бы я нажал кнопку «Далее» в галерее,оно показывает следующее изображение (как оно уже делает), но нажмите где-нибудь еще , оно закрывает всплывающее окно фейсбокса.

Я немного поигрался с кодом, но застрялгде-то здесь:

$('#facebox :not(.image_next)').click($.facebox.close)

Куда я шел, было (переведено):

"В div с идентификатором facebox , если только щелчок не находится по классу image next , закройте окно facebox. "

К сожалению, это закрывает окно независимо от того, где я нажимаю, в том числе на img с этим классом.

Какая-либо помощь будет качаться.

Ответы [ 2 ]

0 голосов
/ 05 мая 2011
 $('#facebox :not(.image_next)').click($.facebox.close)

Это делает именно то, что вы заявили, что вы хотели.Просто отметив.

Вместо этого попробуйте

 $('#facebox :not(.image_next), <other objects in windows>').click($.facebox.close);

Что случилось, вы просто говорите все , но ".image_next", который будет включать изображение внутри вашего лицевого окна.Поэтому вместо этого используйте Firebug, чтобы определить, какие еще объекты существуют, которые нужно исключить или привязать только к объектам, которые вы действительно хотите, чтобы отменить событие.

0 голосов
/ 15 января 2011

Событие клика поднимается от кнопки «Далее» к ее родителю, который является вашим #facebox делением.

Вызовите event.stopPropagation() в обработчике щелчка для кнопки «Далее», чтобы предотвратить «просмотр» события вашим обработчиком на #facebox.

...