我正在尝试创建具有可变“顶部”高度的slidingUp div,因此一个div可以滑动700px,而另一个(具有较少内容)slideUp仅400px。目前,divs所有slideUp都处于同一高度。 css中没有div高度声明。我的剧本:
$(document).ready(function(){
var oldHeight;
$('a.menubtn').click(function(){
var newHeight;
if ($(this.id) == 'work') {
newHeight = 700;
}
else { if ($(this.id) == 'services') {
newHeight = 400;
}
else { if ($(this.id) == 'about') {
newHeight = 400;
}
else {
newHeight = 300;
}
}
}
if ($('.active').length > 0) {
$('.active').removeClass('active').animate({'top': '+=' + oldHeight + 'px'}, '200');
$('div#contents_'+ this.id).addClass('active').animate({'top': '-=' + newHeight + 'px'}, '200');
oldHeight = newHeight;
}
else
$('div#contents_'+ this.id).addClass('active').animate({'top': '-=' + newHeight + 'px'}, '200');
oldHeight = newHeight;
}
return(false);
});
})
TIA。
答案 0 :(得分:2)
您的if
陈述错误。
此:
$(this.id) == 'work' // here you're comparing a jQuery object to 'work'
应该是:
this.id == 'work' // here you're comparing the actual ID value to 'work'
如果您将if
语句的结构更改为这样,那就更清晰了:
if (this.id == 'work') {
newHeight = 700;
} else if (this.id == 'services') {
newHeight = 400;
} else if (this.id == 'about') {
newHeight = 400;
} else {
newHeight = 300;
}