动态检查div是否显示,jquery css(display:none / block)
我遇到了状态栏显示在页面内容上的问题。 问题是当我尝试计算内容的页边距(这显示内容正确)时,状态栏高度始终返回0 px,因为状态栏在页面加载后显示。
有没有办法动态检查div #statusbar是否显示? 生活?
像这样的东西,但是动态的:
$('#statusbar').is(':visible') {
$('.content').css('margin-top', $('#statusbar').height());
}
我将SharePoint品牌化,以便框架显示状态栏。 有了这个布局,我不能使用CSS来做到这一点。
检查这段代码:这是发生了什么事。
http://jsfiddle.net/qcbDy/12/
这个例子的延迟只是为了让大家了解发生了什么。 状态栏在DOM /站点加载后显示。
我需要听取特定选择器上的更改。 (身高/灵活性等)
解
http://www.west-wind.com/weblog/posts/2011/Feb/22/A-jQuery-Plugin-to-monitor-Html-Element-CSS-Changes
要么
当@naim shaikh提到div可见时,jQuery事件触发操作
试试这个帖子。
当div变得可见时,jQuery事件触发动作
尝试在加载页面后执行代码:
$(document).ready(function() {
// put your code here
});
如果您将状态栏宽度和内容宽度设置为某个数字,并使它们都左移,该怎么办? 然后,如果状态栏出现,CSS将自动按下内容! (我认为这会起作用)
例如html:
<div id="wrapper">
<div id="status_bar"></div>
<div id="content"></div>
</div>
和CSS:
#wrapper {
width: 900px;
margin: 0 auto;
}
#status_bar {
width: 900px;
float: left;
}
#content {
width: 900px;
float: left;
}
也许你可以使用这个:
$('.statsubar').delay(2000).fadeIn(400).
queue(function() {
$('.statsubar').css({'position' : 'relative'});
$(this).dequeue();
});
尝试使用on()方法:
var wrapper = $('#wrapper');
function test() {
var status = $('.statsubar');
status.css({'position' : 'relative'});
}
wrapper.on('load', '#statsubar', test);
对于#wrapper元素,使用从开始加载的一个元素
如果'.statsubar'div在原始DOM中不存在,但在此之后加载(通过ajax调用),这应该工作:
$('.statsubar').load(function() {
$('.statsubar').css({'position' : 'relative'});
});
链接地址: http://www.djcxy.com/p/83389.html
上一篇: Dynamic check if div is displayed or not , jquery css (display:none/block)
下一篇: Attempting to trigger before & after events around jQuery show()