我使用offset()top来计算与视口相关的标题的位置,然后在将其抬起到视口顶部时将类应用于该标题。
一切正常。问题是当页面重新加载时向下滚动,在这种情况下,偏移量是从这一点开始计算的,而div上的效果只会从那里触发。
有没有办法制作offset()。top计算这个初始点总是好像视口滚动到顶部?
这是js,
jQuery(function(){
var menuTopo = jQuery('#titulo').offset().top;
jQuery(window).scroll(function(){
if( jQuery(window).scrollTop() > menuTopo ) {
jQuery('#titulo').removeClass("gde").addClass("peq");
} else {
jQuery('#titulo').removeClass("peq").addClass("gde");
}
});
});
这里是html。
<body id="body">
<div id="titulo" class="gde">wederãlab</div>
(sidebar, content)...
</body>
答案 0 :(得分:0)
据我了解你的问题,你只需要运行相同的功能,但是当文档加载完毕后:
$(document).ready(function () {
testHeader();
$(window).scroll(function () {
testHeader();
});
});
function testHeader() {
if ($(this).scrollTop() > 0) {
$('#titulo').removeClass("gde").addClass("peq");
} else {
$('#titulo').removeClass("peq").addClass("gde");
}
}
这应该适用于两种情况 - 加载页面和滚动时。