动态检查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()