我正在使用jQuery来显示/隐藏列表,但是只需要点击两次链接就可以显示列表。有什么帮助吗?
jQuery.showList = function(object) {
object.toggle(function(){
object.html("▾");
object.siblings("ul.utlist").show("fast");
}, function(){
object.html("▸");
object.siblings("ul.utlist").hide("fast");
});
}
$(document).ready(function() {
$("#page").click(function (e){
e.preventDefault();
var target = $(e.target);
var class = target.attr("class");
if(class == "list")
$.showList(target);
});
});
答案 0 :(得分:1)
这可能是因为切换认为object
已经可见,并执行'hide'子句。
编辑: 呃......相当循环的逻辑;用户如何能够点击它: - )
PS。您在自己的回复中将逻辑从is-object-visible?
更改为is-list-visible?
。
答案 1 :(得分:0)
不确定这是否会解决所有问题,但会停止使用保留关键字。 将变量类更改为c。并将对象变量更改为至少obj。
答案 2 :(得分:0)
做好以下工作
jQuery.showList = function(obj) {
var list = obj.siblings("ul.utlist");
if(list.is(":visible")){
obj.html("▸");
list.hide("fast");
} else {
obj.html("▾");
list.show("fast");
}
}