2011-08-20 36 views
0

我有這個小片的jQuery代碼(與幫助一些SOmembers),但它只是錯過這最後一塊拼圖適合我。我會試着解釋它是如何工作的以及最終它應該做什麼。jQuery的淡出其他分區的李(exept一個被點擊的是)

所以第2行是容易的,這隱藏了所有與類名.toggle_hide元素

$(document).ready(function() { 
     $('.toggle_hide').hide(); 

這行代碼使得該跨度元素是李那在div#背景 - 內內absolute_content是可點擊的,所以我可以在該span標籤上有一個功能。

$("#background_absolute_content li span").css('cursor', 'pointer').click(function(){ 

這裏有點難以解釋,但我會嘗試。我真的不知道這對我的代碼會起什麼作用,我認爲這是對某些東西的選擇?

var $this = $(this); 

當span元素點擊該部分淡出的元素與類.toggle_hide

   $('.toggle_hide').fadeOut(200, function(){ 

,後淡出已經這樣做所顯示的DIV這淡入踢英寸它選擇的div裏面「這」,我supose將是李在跨度是英寸

   $this.next("div").fadeIn(200); 
      }); 
    }); 
}); 

所以我覺得我得到了相當多整理,但問題是,DIV需要的由於fadeOut而在放映前進行快速閃光。所以我需要一種方法來選擇除了當前跨度代碼之外的所有li元素,以便代碼不會影響(使其閃爍)內部的div。但ofcourse它需要顯示...

我試圖以模擬的jsfiddle http://jsfiddle.net/YpeeR/7/

整個代碼爲更好看的問題。

$(document).ready(function() { 
     $('.toggle_hide').hide(); 

    $("#background_absolute_content li span").css('cursor', 'pointer').click(function(){ 
     var $this = $(this); 
       $('.toggle_hide').fadeOut(200, function(){ 
       $this.next("div").fadeIn(200); 
      }); 
    }); 
}); 
+0

所以你的問題是,他們居然淡入/淡出前的div閃爍一次? – Purag

回答

0

請問這種鍛鍊:http://jsfiddle.net/amantur/EjAcZ/6/

我已經改變了:

$('.toggle_hide').fadeOut(200, function(){ 
    $this.next("div").fadeIn(200); 
}); 

$淡出(200);( 'toggle_hide。')。

$ this.next(「div」)。fadeIn(200);

var $this = $(this); 
var $nxtDiv = $this.next("div"); 
$('.toggle_hide').not($nxtDiv).fadeOut(200); 
$nxtDiv.toggle('slow'); 

這首先會隱藏所有div (目前呈現一個,目前一個已經隱藏) 除了當前的一個,然後 顯示 切換點擊一個。

編輯: - 我已經更新小提琴也。

+0

謝謝,但我偶然發現了。不選擇器,並用它像這樣, \t \t \t \t $( 'toggle_hide')。不($ this.next( 「DIV」))。淡出(200,函數(){ \t \t \t \t $這.next(「div」)。fadeIn(200); 它現在工作正常(太)!現在找到一種方法來關閉當前div但不應該太難:)。 –

+0

我已更改代碼以切換點擊div的顯示。 – TheVillageIdiot

相關問題