jQuery: fancyBox, использующий несколько раз с href? - PullRequest
0 голосов
/ 18 декабря 2010

У меня есть это:

<script>
$(document).ready(function() {
    $("a#a_test").fancybox({
        titleShow     : false,
        width:    400,
        height:   120,
        autoDimensions: false,
        overlayOpacity: 0.6,
        href: 'test.php' 
    }); 
});
</script>
<a href="#test" id="a_test">test</a>

Это отлично работает.

Теперь я хочу использовать это в цикле (в php), мне интересно, нужно ли мне постоянно включать настройки.

Что будет отличаться в каждой настройке, так это имя (так что это будет a_test1, a_test2 и т. Д.) И href (так что это будут test.php? Id = 1, test.php? Id = 2 и и так далее.

Я знаю, что просто могу скопировать вставку, но это будет своего рода неаккуратный код, когда я просматриваю HTML, готовый пакет документов, настройки # a_test123, # a_test2, # test_3, я не могу просто перейти с одной настройкой , а затем добавьте к нему номер идентификатора цикла (например, 1,2,3). Что-то вроде:

<script>
$(document).ready(function() {
    $("a#a_test<?php echo $number; ?>").fancybox({
        titleShow     : false,
        width:    400,
        height:   120,
        autoDimensions: false,
        overlayOpacity: 0.6,
        href: 'test.php?id=<?php echo $number; ?>'
    }); 
});
</script>

Это также сработало бы, если бы я сделал это в функции и вызывал ее каждый раз, например, getFancy (1), getFancy (2) ... но тогда он все равно выглядел бы и был бы неаккуратным, если вы посмотрите на вывод HTML, куча документов, готовых с diff. Настройки.

Так есть ли решение сделать это умнее и проще? Таким образом, он получает что-то вроде глобального параметра для всех блоков.

Спасибо, кучка вперед

1 Ответ

4 голосов
/ 18 декабря 2010
<script>
$(document).ready(function() {
    $("a.fancybox_vid").each(function(){
       $(this).fancybox({
        titleShow     : false,
        width:    400,
        height:   120,
        autoDimensions: false,
        overlayOpacity: 0.6,
        href: 'test.php?id='+$(this).attr('rel')
      }); 
    });
});
</script>

<a class='fancybox_vid'  rel='1'>video</a>
<a class='fancybox_vid'  rel='2'>video</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...