jQuery:fancyBox多次使用href?

时间:2010-12-17 22:21:12

标签: jquery fancybox

我有这个:

<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设置时,它会是一种草率的代码,我不能只使用一个设置,然后添加循环ID的编号(例如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)..但是如果你查看输出它仍然会看起来并且是slopp编码html,一堆准备好与diff的文件。设置。

那么有更聪明,更简单的解决方案吗?所以它就像所有盒子的全局设置一样。

谢谢你们前进

1 个答案:

答案 0 :(得分:4)

<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>