我的页面上有一个名为' .nav-wrapper' - 根据后端的用户设置,此div的positino将位于多个位置之一。我想要做的是使用jQuery,确定这个div的顶部位置,如果它是一个特定值,则将margin-top值添加到不同的div。
例如,下面我试图说.nav-wrapper top position是0,将.header-wrapper-other的min-height更改为50px。这是我的代码,但是它什么都不做:
var MenuPosition = $('.nav_wrapper').css('top').val();
if (MenuPosition == 0) {
$('.header-wrapper-other').css('min-height','50px');
};
以下是示例中两个div的css:
.header-wrapper-other {
background-attachment: fixed;
background-size: cover;
min-height: 200px;
}
.nav-wrapper {
padding: 10px 20px;
position: absolute;
top: 0px;
width: 100%;
z-index: 1000;
}
答案 0 :(得分:2)
它应该是.css('top')
而不是.css('top').val()
但是这会返回一个像XXpx
这样的字符串,这可能不是你想要的。
您应该使用以下内容返回可用数字进行比较
var MenuPosition = $('.nav_wrapper').position();
if (MenuPosition.top == 0) {
$('.header-wrapper-other').css('min-height','50px');
};
答案 1 :(得分:1)
像这样,
将您的班级从 .nav_wrapper 更改为 .nav-wrapper ,因为在CSS中您正在设置样式.nav-wrapper并在jQuery中将其称为.nav_wrapper :)
此处的工作示例http://jsfiddle.net/u6Lrnpgj/
var MenuPosition = $('.nav-wrapper').css('top');
if (parseInt(MenuPosition) == 0) {
$('.header-wrapper-other').css('min-height','50px');
}
你不需要val();它是从输入字段获取值:)
答案 2 :(得分:0)
.val()
仅适用于input
和textarea
parseInt()
使MenuPosition
为整数。
var MenuPosition = parseInt($('.nav_wrapper').css('top'));