此代码显示frm01:
$(document).ready(function() {
$("#reg").click(function () {
$("#frm01").show("slide", { direction: "down" }, 1000);
});
});
但我想隐藏frm01,如果它已经可见,反之亦然。 我怎么能这样做呢?
答案 0 :(得分:10)
尝试jQuery的toggle()
方法:
$(function() {
$("#reg").click(function () {
$("#frm01").toggle(1000);
});
});
你不需要jQuery来使用if-else语句; Javascript本地实现了......
$(function() {
$("#reg").click(function () {
if ($("#frm01").is(":visible"))
$("#frm01").slideUp(1000);
else
$("#frm01").slideDown(1000);
});
});
答案 1 :(得分:2)
试试这个:
$(document).ready(function() {
$("#reg").click(function () {
if ($("#frm01").is(':hidden')) {
$("#frm01").show("slide", { direction: "down" }, 1000);
} else {
$("#frm01").hide(1000);
}
});
});
答案 2 :(得分:1)
$("#reg").on('click', function () {
$("#frm01:hidden").show("slide", { direction: "down" }, 1000);
$("#frm01:visible").hide("slide", { direction: "up" }, 1000);
});
或
$("#reg").toggle(
function () {
$("#frm01").show("slide", { direction: "down" }, 1000);
},
function(){
$("#frm01").hide("slide", { direction: "up" }, 1000);
}
);
也应该有用
答案 3 :(得分:0)
您可以使用$ .toggle()方法来显示和隐藏。有些时候需要确定元素是隐藏还是显示。
$("#reg").click(function () {
if($("#frm01").hasClass('fram1-slide-on')){
$("#frm01").hide();
$("#frm01").removeClass('fram1-slide-on');
} else {
$("#frm01").show("slide", { direction: "down" }, 1000);
$("#frm01").addClass('fram1-slide-on');
}
});