【问题标题】:Conflict between Shadowbox and a jQuery div faderShadowbox 和 jQuery div 推子之间的冲突
【发布时间】:2012-10-13 17:38:44
【问题描述】:

我正在使用淡入/淡出我的 div 的 jQuery 脚本,因此我可以为我的网站创建一个页面。我还使用 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

【问题讨论】:

  • 你能不能发一个jsfiddle,这样我们就可以看到与HTML的交互了
  • 嘿,我没有成功设置一个有效的 jsfiddle 示例,所以我将文件上传到我的 ftp:link 您可以在此处访问脚本(阴影框和推子):@987654325 @

标签: jquery html conflict shadowbox


【解决方案1】:

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

在你的情况下,代码应该是:

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

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

祝你好运!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-06
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2012-01-15
    • 1970-01-01
    相关资源
    最近更新 更多