jes*_*vin 65 javascript jquery toggle
我写了很多类似于下面代码的东西.它基本上根据某些条件切换元素.
在下面的组成示例中,条件是"如果agree
选中复选框且name
字段不为空".
$("button").click(function() {
if ($("#agree").is(":checked") && $("#name").val() != "" ) {
$("#mydiv").show();
} else {
$("#mydiv").hide();
}
});
Run Code Online (Sandbox Code Playgroud)
我希望有某种jQuery函数可以像这样工作.
$("button").click(function() {
var condition = $("#agree").is(":checked") && $("#name").val() != "" );
$("#mydiv").toggle(condition);
});
Run Code Online (Sandbox Code Playgroud)
那里有类似的东西吗?或者除了第一个例子之外还有其他方法以更少的if-else-ish
方式做到这一点吗?
jes*_*vin 85
好吧,所以我是个白痴,在我提问之前需要RTM.
jQuery.toggle()允许您开箱即用.
$("button").click(function() {
var condition = $("#agree").is(":checked") && $("#name").val() != "" );
$("#mydiv").toggle(condition);
});
Run Code Online (Sandbox Code Playgroud)
首先,让我们看看我是否理解你想要做的正确...你想看一个复选框的状态(选中或不选中),并根据该值的状态隐藏或显示第二个div.
定义这种风格:
.noDisplay {
display:none;
}
Run Code Online (Sandbox Code Playgroud)
使用此JavaScript:
$("button").click(function() {
$("#mydiv").toggleClass("noDisplay", $("#name").val() == "");
});
Run Code Online (Sandbox Code Playgroud)
jQuery上的文档可以在这里找到:http: //api.jquery.com/toggleClass/
你可以自己编写这个函数.
function toggleIf(element, condition) {
if (condition) { element.show(); }
else { element.hide(); }
}
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它:
toggleIf($("button"), $("#agree").is(":checked") && $("#name").val() != "");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26930 次 |
最近记录: |