我只有一個工作,但我做了完全相同的下一個div,它不工作?另外我想在擴展內容的底部添加一個關閉鏈接。我有一個div擴展,當閱讀更多點擊,想要一個關閉的鏈接?
見我的小提琴:http://jsfiddle.net/G59nH/3/
$(document).ready(function() {
$("#clickme").click(function() {
$("#content").slideToggle("slow")
});
});
我只有一個工作,但我做了完全相同的下一個div,它不工作?另外我想在擴展內容的底部添加一個關閉鏈接。我有一個div擴展,當閱讀更多點擊,想要一個關閉的鏈接?
見我的小提琴:http://jsfiddle.net/G59nH/3/
$(document).ready(function() {
$("#clickme").click(function() {
$("#content").slideToggle("slow")
});
});
您正在使用的ID,但你不能有一個html文件在同一個ID的多個元素。改爲使用類,並根據與點擊鏈接的距離來選擇哪些內容(使用給定的類)來滑動切換。
改變clickme和內容ID的上課後,你可以改變你的js這樣的:
$(document).ready(function() {
$(".clickme").click(function() {
$(this).closest('.servicesBox').nextAll(".content").first().slideToggle("slow");
});
});
工作小提琴:http://jsfiddle.net/G59nH/11/
還要注意,你有內<p>
標記一些<div>
標籤(未固定在小提琴中),這是技術上不合法的語法 - 建議用div(如果您需要它們)替換它們並根據需要用css調整間距。
感謝您的建議,有沒有簡單的方法在擴展內容的底部添加關閉鏈接? @mayabelle –
你的小提琴會打開所有'.content'方塊,我確定他只是想點擊一下就可以展開? – badAdviceGuy
事實證明存在HTML語法錯誤,原始代碼在包含'div'之外關閉了'p'標記,修復了允許'.next('。container')正常工作的問題。查看代碼的[更新的小提琴](http://jsfiddle.net/badAdviceGuy/G59nH/9/)。 – badAdviceGuy
的問題是,在你的HTML,你必須用相同的ID兩個元素(在你的情況,「clickme」和「內容」)。聲明
$('#clickme')
用作'#'後定義id的元素的偵聽器。因此,對於您的情況,您可以通過點擊'clickme'來監聽點擊元素。但是,當你有兩個人時,只有一個人會工作。你想要的是給他們同一個班級(例如'clickme')。如果使用類聽衆
$('.clickme')
和
$('.content')
它應該工作的罰款。爲了區分點擊了哪個元素,你可以使用點擊「clickme」元素的索引:
$('.clickme').click(function(){
var index = $('.clickme').index(this);
$('.content').eq(index).slideToggle();
});
爲什麼你使用鏈接滑動div? – fedorSmirnov
你的小提琴中的HTML格式不正確。您應該考慮正確縮進您的代碼。它使查找不匹配標籤的問題等更容易找到。 –