2012-10-13 24 views
2

我正在使用淡入/淡出我divs的jQuery腳本,所以我可以爲我的網站設置一個單獨的頁面。我還使用Shadowbox腳本在畫廊中顯示我的圖像。Shadowbox和jQuery div推子之間的衝突

問題是,當我點擊一個縮略圖(打開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內容的工作,但有可能使對太極拳腳本一個異常時,我啓動了嗎?

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

而且腳本(太極拳和推子):http://www.hyker.be/minimal/js/misc.js

+0

你能製作一個[jsfiddle](http://www.jsfiddle.net),所以我們可以看到與HTML的交互 – davehale23

+0

嘿,我沒有成功設置一個工作jsfiddle的例子,所以我上傳了在我的FTP文件: [鏈接](http://www.hyker.be/minimal/) 您可以訪問這裏的腳本(眼影盒和推子): [鏈接](HTTP:// WWW .hyker.be/minimal/js/misc.js) – Xavier

回答

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

GOOD LUCK !!

+0

它的工作非常棒,非常感謝! – Xavier