2012-11-23 68 views
1

我的網站上使用PHP循環切換幾個div,現在問題在於傳遞div id,但是如果循環10篇文章,這會產生10個腳本,任何更好的方式來傳遞一個id並打開關聯的div?jQuery函數切換我使用php循環的divs

http://jsfiddle.net/NbGSB/

<script> 
$('#toggle4').click(function() { 
$('.toggle4').slideToggle('fast'); 
    return false; 
}); 
</script> 
<a href="#" id="toggle4">Slide Toggle</a><br /><br /> 
<div class="toggle4" style="display:none; background-color:#4CF;width:100px;height:200px;"></div> 

現在,如果我有多個div的?我是否需要始終傳遞id並循環腳本或者有沒有更好的方法?抱歉,但我不擅長與jQuery

回答

1

是的,只是給你的文章的一個類,像「arcticle撥動」,再經過兩個寬標籤滑動格: HTML:

<a href="#" class="article-toggle">Slide Toggle 1</a><br /><br /> 
<div style="display:none; background-color:#4CF;width:100px;height:200px;"></div> 

<a href="#" class="article-toggle">Slide Toggle 2</a><br /><br /> 
<div style="display:none; background-color:#8CF;width:100px;height:200px;"></div> 

JS :

<script> 
$('.article-toggle').click(function() { 
    $(this).next().next().next().slideToggle('fast'); 
return false; 
} 
</script> 

Fiddle

+0

感謝不對我工作http://jsfiddle.net/NbGSB/1 –

+0

它不起作用,因爲onclick函數內的選擇器是錯誤的。它正在尋找div _inside_切換鏈接,但這兩個元素是兄弟 – Enrico

+0

@RandomGuy請修復此答案中的代碼,以便接受的答案實際上起作用。 – Enrico

1

有很多方法可以做到這一點。

不改變你的HTML,你可以通過把這個所有的切換和申報單後做 - 只是</body>標籤之前,通常是一個好地方

<script type="text/javascript"> 
$('[id^="toggle"]').click(function() { 
    $(this).next('[class^="toggle"]').slideToggle('fast'); 
    return false; 
}); 
</script> 

$('[id^="toggle"]')$('[class^="toggle"]')選擇其id和class開始的所有元素與「切換」,分別。

+0

謝謝+1:)... –