2013-01-19 218 views
2

我有4個導航鏈接(見下文),ID = activator顯示內容,boxclose關閉內容。點擊鏈接時隱藏內容

我可以點擊所有激活器並打開所有內容,而只需打開一個並關閉其他(s)。

在這裏看到的劇本我用:
(werkwijze是定製,我也有其他名稱,如諮詢 - 相同的代碼)

$(function() { 
     $('#activator-werkwijze').click(function(){ 
      $('#overlay-werkwijze').fadeIn('fast',function(){ 
       $('#box-werkwijze').animate({'bottom':'0px'},800); 
      }); 
     }); 
     $('#boxclose-werkwijze').click(function(){ 
      $('#box-werkwijze').animate({'bottom':'-600px'},800,function(){ 
       $('#overlay-werkwijze').fadeOut('fast'); 
      }); 
     }); 
    }); 


<a id="activator-bureau" class="activator">bureau</a> 
<a id="activator-werkwijze" class="activator">werkwijze</a> 
<a id="activator-klanten" class="activator">klanten</a> 
<a id="activator-contact" class="activator">contact</a> 

這是工作的腳本,(覆蓋沒用)jsfiddle.net/8y7Sr/126/

+0

只是一般性的意見 - 爲什麼ÿ ou fadeIn(),並在fadeIn()之後動畫框?將div動畫後,淡出它? – jdepypere

回答

1

你可以在激活鏈接使用數據的屬性,並使用它作爲一個選擇:

<a id="activator-bureau" class="activator" data-target="box-bureau">bureau</a> 
<a id="activator-werkwijze" class="activator" data-target="box-werkwijze">werkwijze</a> 
<a id="activator-klanten" class="activator" data-target="box-klanten">klanten</a> 
<a id="activator-contact" class="activator" data-target="box-contact">contact</a> 

<div id="box-contact" class="activatee">Something</div> 
Etc. 

$(function() { 
    $(".activator").click(function(e) { 
     var $target = $(e.target).data("target"); 
     $(".activatee").not("#" + $target).fadeOut('fast'); 
     $target.fadeIn() // or whatever your animation is 
     Etc. 
    }) 
})