【发布时间】:2015-07-10 02:09:43
【问题描述】:
如果窗口宽度低于 x px 或 %,如何将 div 的大小逐渐调整为 0,当窗口大于 x px 或 % 时,如何将其重新调整为最大宽度?
【问题讨论】:
-
请发布您的代码,到目前为止您尝试了什么?你的 DOM 结构是什么样的?
标签: javascript jquery html
如果窗口宽度低于 x px 或 %,如何将 div 的大小逐渐调整为 0,当窗口大于 x px 或 % 时,如何将其重新调整为最大宽度?
【问题讨论】:
标签: javascript jquery html
这通常使用 CSS 完成,使用 CSS 转换属性,然后使用 jQuery 的 addClass
CSS
#myElementToResize{
width: 100px;
-webkit-transition: width 2s;
transition: width 2s;
}
.minimized{
width: 0px;
}
JS
$(window).resize(function(){
if ( $(window).width() <= 768 ){
$("#myElementToResize").addClass("minimized");
} else {
$("#myElementToResize").removeClass("minimized");
}
})
【讨论】:
在整页上运行此示例。
添加resizeTimer 以在触发调整大小事件之前提供一点时间间隔。
var resizeTimer;
$(window).on('resize',function(){
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function(){
$("#theDiv").height($(window).height()/5);//calculation for height here as required
}, 200);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div id="theDiv" style="background-color: yellow; border: 1px solid black; height: 100px"></div>
【讨论】: