Shadowbox和jQuery div推子之间的冲突

时间:2012-10-13 17:38:44

标签: jquery html conflict shadowbox

我正在使用jQuery脚本淡入/淡出我的div,因此我的网站可以有一个页面。我也使用Shadowbox脚本在图库中显示我的图像。

问题是,当我点击缩略图(打开Shadowbox和我的图像)时,它会清除我的div的内容。所以我最后得到一个空白页。

这是我的推子脚本:

  document.documentElement.className += " js";   
  $(function(){
    var $containers = $("#right > div").hide();
    $containers.eq(0).show();

    $('a').each(function(i,el){
      var idx = i;
      $(this).click(function(e){
        var $target = $containers.filter(':eq(' + idx + ')');
        if($containers.filter(':visible').not($target).length){
          $containers.filter(':visible').fadeOut(400, function(){
            $target.not(':visible').fadeIn(400);
          });
        } else {
          $target.not(':visible').fadeIn(400);
        }

      })
    })
  });

所以这个脚本的作用是替换div内容,但是当我启动它时是否可以为shadowbox脚本制作一个例外?

工作文件位于:http://www.hyker.be/minimal

脚本(影子框和推子):http://www.hyker.be/minimal/js/misc.js

1 个答案:

答案 0 :(得分:2)

实际上点击代码也适用于图库链接。要从当前点击代码中排除图库锚标记,请在jquery中使用 not() 方法或选择器。

在您的情况下,代码应为:

$('a').not("a[rel*=shadowbox]").each(function(i,el){
    //existing stuff
})

$('a:not(a[rel*=shadowbox])').each(function(i,el){
    //existing stuff
})

祝你好运!!