gpt4 book ai didi

检测滚动 Div 位置的 jQuery

转载 作者:太空宇宙 更新时间:2023-11-03 18:55:45 24 4
gpt4 key购买 nike

我在尝试检测我的 div 上的滚动位置时遇到了一些问题。这是我的代码:

index.html

<div id="wrapper">
<div id="headerOne">I am a header</div>
<div id="contentContainer">
<div id="content">
I am some content
</div>
</div>
</div>

jQuery 函数(非工作版本)

$(document).ready(function() {

var aboveHeight = $('#headerOne').outerHeight();

$('#contentContainer').scroll(function(){
if ($('#contentContainer').scrollTop() > aboveHeight){
$('#headerOne').addClass('fixed').css('top','0').next().css('padding-top','60px');
} else {
$('#headerOne').removeClass('fixed').next().css('padding-top','0');
}
});
});

jQuery 函数(工作版)

$(document).ready(function() {

var aboveHeight = $('#headerOne').outerHeight();

$(window).scroll(function(){
if ($(window).scrollTop() > aboveHeight){
$('#headerOne').addClass('fixed').css('top','0').next().css('padding-top','60px');
} else {
$('#headerOne').removeClass('fixed').next().css('padding-top','0');
}
});
});

有两个不同的 jQuery 函数,因为当我第一次测试时,我使用的是工作版本,向下滚动时标题保留。但我希望标题标题保持固定用户正在滚动 #contentContainer div 而不是窗口所以我将其更改为 $(window).$('# contentContainer') 它不再工作了。

滚动功能可以检测到 div 滚动还是必须是 $(window).

谢谢。

最佳答案

也许你可以用这个?

jQuery(document).ready(function($) {
//Calculate the height of <header>
//Use outerHeight() instead of height() if have padding
var aboveHeight = 130;

//when scroll
$(window).scroll(function(){

//if scrolled down more than the header’s height
if ($(window).scrollTop() > aboveHeight){

// if yes, add “fixed” class to the <nav>
// add padding top to the #content
//(value is same as the height of the nav)
$('nav').addClass('fixed').css('top','0').next()
.css('padding-top','60px');

} else {

// when scroll up or less than aboveHeight,
//remove the “fixed” class, and the padding-top
$('nav').removeClass('fixed').next()
.css('padding-top','0');
}

});
});

关于检测滚动 Div 位置的 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13522971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com