2009-04-08 5 views
2

Я использую плагин FancyBox, и когда пользователь нажимает на небольшое изображение, появляется всплывающее изображение. Я видел код для этого с 1 изображением, но не для 2, поэтому я предположил, что правильный способ состоял в следующем: мне интересно, правильно это или нет? Вы просто помещаете элемент утверждений, который хотите, чтобы fancybox работал сразу после друг друга.Правильный способ запуска следующего сценария JQuery?

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("a#link1").fancybox(); 
     $("a#link2").fancybox(); 
    }); 
</script> 

ответ

5

Если вы планируете иметь несколько ссылок, которые вы хотите, чтобы это произошло с, вы могли бы просто дать им все класс fancybox, а затем сделать:

$(function() { 
    $('a.fancybox').fancybox(); 
}); 

Таким образом, всякий раз, когда у вас есть новые ссылки, которые должны быть фантазии вам не нужно указывать уникальные идентификаторы и вернуться к javascript, чтобы убедиться, что они инициализированы. У вас может быть более 1 класса на элемент, поэтому он также не будет влиять на существующие классы. В большинстве случаев, когда у вас есть наборы чего-то, разумно использовать классы, чтобы вы могли относиться к ним как таковым при манипулировании ими с помощью jQuery.

+0

Ах, как я мог забыть об этом. Просто любопытно, если бы я разделил id для каждого изображения, было бы выше, я сделал это, правильно? – Xaisoft

+0

Да, наверное. В большинстве случаев, когда у вас есть наборы чего-то, разумно использовать классы, чтобы вы могли относиться к ним как таковым при манипулировании ими с помощью jQuery. –

1

Да, это выглядит хорошо.

2

Да, правильно поставить код, который вы хотите запустить в ready блок. Вы можете использовать короткий синтаксис

<script type="text/javascript"> 
    $(function() { 
     $("a#link1").fancybox(); 
     $("a#link2").fancybox(); 
    }); 
</script> 

который делает то же самое.

 Смежные вопросы

  • Нет связанных вопросов^_^