我想切換.toggle-item-(number here)
與.link(number here)
。在開始時,所有.toggle-item
都關閉。只能同時顯示一個切換項目。每當新的切換項目打開時,另一個打開的切換項目應該關閉。jQuery切換不起作用
用代碼鏈接是在這裏:http://jsfiddle.net/rAUqb/
爲什麼jQuery代碼不工作?
我想切換.toggle-item-(number here)
與.link(number here)
。在開始時,所有.toggle-item
都關閉。只能同時顯示一個切換項目。每當新的切換項目打開時,另一個打開的切換項目應該關閉。jQuery切換不起作用
用代碼鏈接是在這裏:http://jsfiddle.net/rAUqb/
爲什麼jQuery代碼不工作?
更新Marc的代碼,以便它關閉時,點擊其他人。
$(document).ready(function() {
$('[class^=toggle-item]').hide();
$('[class^=link]').click(function() {
var $this = $(this);
var x = $this.attr("class");
var className = '.toggle-item-' + x.replace('link', '');
$(className).toggle();
$('[class^=toggle-item]:not('+className +')').hide();
return false;
});
});
我已更新您的代碼。
你沒有正確地得到數字。
$(document).ready(function() {
$('[class^=toggle-item]').hide();
$('[class^=link]').click(function() {
var x = $(this).attr("class").replace('link', '');
$('[class^=toggle-item]:not(.toggle-item-'+x+')').hide();
$('.toggle-item-' + x).toggle();
return false;
});
});
x中的值是完整的類名(「link1」,「link2」等)。我只是簡單地刪除了「鏈接」部分以獲得該號碼。
Jquery accordion不適合你嗎?
使用attr("class")
代替attr("classname")
不需要像這樣複雜,請參閱我的更新代碼。 – Marc
它並不是非常複雜。您更新後的代碼在多次點擊時不會切換同一項目,也不會隱藏加載項目 – Contra
謝謝 - Marc和Contra - 您都對解決方案有所貢獻 – rabea