0

我有一个小画廊:

  • 大合照
  • 底部的小拇指

当用户单击拇指时,大照片会发生变化,太好了。

现在我在大照片上添加了 Colorbox 插件,所以当用户点击大照片时,他会看到更大的照片,这样就可以了。但是当用户第一次点击一些拇指然后他们点击大照片 ColorBox 加载但不加载我添加的设置。

这是我的js

$(function() {
$("#wrapper #right #detail #photo #big #image a").colorbox({
    transition: 'elastic',
    speed: 200,
    opacity: 0.4,
    scalePhotos : true,
    maxWidth : '800px'
});

$("#wrapper #right #detail #photo ul li .thumb").click(function() {
    var image = $(this).attr("rel");
    $('#image').hide();
    $('#image').fadeIn('fast');
    $('#image').html('<a href="' + image + '" class="cboxElement" title=""><img src="' + image + '" alt="" /></a>');
    return false;
});
}); 

和 HTML

<div id="photo">
<div id="big"><div id="image"><a href="gfx/detail/1.jpg"><img src="gfx/detail/1.jpg" border="0"/></a></div></div>

<ul>
    <li><a href="#" rel="gfx/detail/1.jpg" class="thumb"><img src="gfx/detail/1.jpg" alt="" /></a></li>
    <li><a href="#" rel="gfx/detail/2.jpg" class="thumb"><img src="gfx/detail/2.jpg" alt="" /></a></li>
    <li><a href="#" rel="gfx/detail/3.jpg" class="thumb"><img src="gfx/detail/3.jpg" alt="" /></a></li>
</ul>
</div>

有人可以帮助我让颜色框加载设置吗?

4

1 回答 1

2
$("#wrapper #right #detail #photo #big #image a")
$("#wrapper #right #detail #photo ul li .thumb")

不需要这么长的选择器,你会失去性能。#是 id 选择器和 id 必须是唯一的,这就是为什么你可以删除#wrapper #right #detail

您替换附加颜色框选项的元素,问题在于此级别,作为您可以绑定的解决方案click。像这样:

$('#image').on('click', 'a', function(e){
   e.preventDefault();
   $.colorbox({
       transition: 'elastic',
       href: this.href,
       speed: 200,
       opacity: 0.4,
       scalePhotos : true,
       maxWidth : '800px'
   });
});
于 2013-03-28T11:45:42.940 回答