使用jQuery隐藏和显示DIV而不使用display:none
我使用的是标准:使用jQuery隐藏和显示DIV而不使用display:none,jquery,html,css,Jquery,Html,Css,我使用的是标准: $(document).ready(function() { $('#toggleme').click(function(){ $('div.#showhide').toggle(); }); $('#closer').click(function(){ $('div.#showhide').toggle(); }); }); 显示和隐藏div,但当站点设置为display:none时该div消失,我的所有内容在页面上移 是否有不同的
$(document).ready(function() {
$('#toggleme').click(function(){
$('div.#showhide').toggle();
});
$('#closer').click(function(){
$('div.#showhide').toggle();
});
});
显示和隐藏div,但当站点设置为display:none时代码>该div消失,我的所有内容在页面上移
是否有不同的显示/隐藏div的方法,或者我应该将每个div以固定的宽度/高度包装在父div中?为此使用.show()
和hide()
方法
-显示匹配的元素
-隐藏匹配的元素
或也尝试一下
-显示或隐藏匹配的元素CSS属性可见性:隐藏代码>是您想要的,它将像显示块一样隐藏它,但空间仍然存在,因此内容不会移动。将可见性设置为隐藏,如下所示:
$('div.#showhide').css('visibility', 'hidden');
$('div.#showhide').css('visibility', 'visible');
像这样再显示一次:
$('div.#showhide').css('visibility', 'hidden');
$('div.#showhide').css('visibility', 'visible');
您可以使用jQuery.show()
和jQuery.hide()
方法分别显示和隐藏元素。可以尝试以下方法:
$(document).ready(function() {
$('#toggleme').toggle(function(){
$('.showhide').animate({ "height", "0px" });
},
function(){
$('.showhide').animate({ "height", "SomeBaseHeightpx" });
});
$('#closer').toggle(function(){
$('.showhide').animate({ "height", "0px" });
},
function(){
$('.showhide').animate({ "height", "SomeBaseHeightpx" });
});
});
对它进行一些处理,并将其调整到您的HTML,但这应该正是您想要的
更多信息,请参见&toggle()在曲面下执行此操作。这并不能解决他的内容移动问题。我不相信IE的任何版本都支持这一点。可能不是最好的跨浏览器方法。我不确定IE5.5,但我知道IE6和以上支持可见性:隐藏;一个简单的方法是设置不透明度:0;在元素上有一个过渡。对于IE来说,你需要一个解决办法。没有人支持IE7以下的版本,所以这一点是静音的,但不是每个人都升级了FF,歌剧,甚至Safari,这三个版本都有“可见性”问题。一个问题是你使用。
,你想要id还是类?我想。是一个分隔符,我可以只使用#吗?您可以只使用#
和元素ID来获取具有该ID的第一个元素。使用
将获取具有该类名的每个元素。示例:$(“#eleID”)
将获取id设置为eleID
的第一个元素,而$(“.eleClass”)
将抓取具有类的每个元素eleClass
啊,酷!谢谢你!:)@williamsongibson-如果答案对你有效,别忘了升级投票并将其标记为已接受。这不是交叉兼容(在今天大多数使用的版本上)。我在IE 7/8/9、Firefox和Chrome中进行了测试,它在所有方面都有效。在哪个浏览器中不起作用?FF有以前的版本,就在去年夏天,它不能在中正常工作,尤其是在具有固定或绝对位置的div中。就在几个月前,我还遇到过这样的麻烦。最近的更新已经解决了这个问题,但是如上所述,有些人不更新firefox,但可能一年更新一次。