如何使Jquery scrollTop转到正确的位置?
有人能提出为什么如何使Jquery scrollTop转到正确的位置?,jquery,scrolltop,Jquery,Scrolltop,有人能提出为什么scrollTop没有滚动到正确div的顶部吗? 我是这样使用它的: 这是我的完整代码: $(“#生成按钮”)。单击(函数(){ $('.wrapperright')。设置动画({ scrollTop:$(“#generationanxiety”).offset().top }, 1500); $('bio ul div').addClass('opacity'); $(this.removeClass('opacity'); }); var topofDiv=$(“#gen
scrollTop
没有滚动到正确div的顶部吗?我是这样使用它的: 这是我的完整代码:
$(“#生成按钮”)。单击(函数(){
$('.wrapperright')。设置动画({
scrollTop:$(“#generationanxiety”).offset().top
},
1500);
$('bio ul div').addClass('opacity');
$(this.removeClass('opacity');
});
var topofDiv=$(“#generationanxiety”).offset().top//获取偏移量div
变量高度=$(“#generationanxiety”).outerHeight()//获取div的高度
$('.wrapperright')。滚动(函数(){
如果($('.wrapperright').scrollTop()>(topofDiv+高度)){
log('这是div底部离开窗口的地方')
$('#generationbutton').addClass('opacity');
}否则{
$(“#generationbutton”).removeClass('opacity');
}
});
$(“#lekhenabutton”)。单击(函数(){
$('.wrapperright')。设置动画({
滚动顶端:$(“#lekhenaporter”).offset().top
},
1500);
$('bio ul div').addClass('opacity');
$(this.removeClass('opacity');
});
var topofDiv=$(“#lekhenaporter”).offset().top//获取偏移量div
变量高度=$(“#lekhenaporter”).outerHeight()//获取div的高度
$('#lekhenaporter')。滚动(函数(){
如果($('#lekhenaporter').scrollTop()>(topofDiv+高度)){
log('这是div底部离开窗口的地方')
$('lekhenabutton').addClass('opacity');
}否则{
$('lekhenabutton').removeClass('opacity');
}
});
$(“#bodysbutton”)。单击(函数(){
$('.wrapperright')。设置动画({
scrollTop:$(“#body”).offset().top
},
1500);
$('bio ul div').addClass('opacity');
$(this.removeClass('opacity');
});
$(“#按钮”)。单击(函数(){
$('.wrapperright')。设置动画({
滚动顶部:$(“#闪烁”).offset().top
},
1500);
$('bio ul div').addClass('opacity');
$(this.removeClass('opacity');
});
$(“#果汁按钮”)。单击(函数(){
$('.wrapperright')。设置动画({
scrollTop:$(“#果汁”).offset().top
},
1500);
$('bio ul div').addClass('opacity');
$(this.removeClass('opacity');
});代码>
html,
身体{
保证金:0;
溢出x:隐藏;
溢出y:隐藏;
}
.包装纸{
显示:网格;
网格模板列:重复(2,1fr);
高度:100vw;
保证金:0;
网格间距:0;
}
.wrapper左{
网格列开始:1;
网格柱端:1;
网格模板行:自动;
宽度:50vw;
最大高度:100%;
溢出y:隐藏;
保证金:0;
}
.生物{
利润率:20px;
}
毕奥保险公司{
边缘顶部:20px;
填充:0;
}
.生物h1{
字体系列:无衬线;
字体大小:400;
字体大小:3.2米;
列表样式:无;
保证金:0;
边框底部:2倍实心#000;
显示:内联;
}
李先生{
字体系列:无衬线;
字体大小:400;
字体大小:3.2米;
列表样式:无;
垫底:10px;
光标:指针;
}
.回来{
位置:绝对位置;
底部:0;
左边距:20px;
}
.返回h1{
字体系列:无衬线;
字体大小:400;
字号:1.5em;
}
.包装纸对吗{
网格列开始:2;
网格柱端:2;
网格模板行:200px;
左边框:2倍实心#000;
宽度:50vw;
溢出:自动;
}
.wrapper右img{
宽度:50vw;
最大高度:100%;
显示:块;
}
.不透明度{
不透明度:0.4;
-webkit过渡:所有0.3易用性;
过渡:全部0.3缓;
}
.展示{
显示:块;
最大高度:100%;
最大宽度:100%;
}
.wrapper右分区{
最大高度:100%;
最大宽度:100%;
}
- 01代焦虑
- 02 Lekhenaporter.com
- 03谈判中的机构
- 04闪亮男孩化妆品
- 05果汁封面艺术
← 返回
jQuery的offset()
获取元素相对于文档的坐标
例如,您将.wrapperright
的滚动位置设置为文档顶部和#generationanxiety
顶部之间的距离。这似乎不是你想要的价值
还请注意,#generationanxiety
的偏移量会随着.wrapperright
滚动而变化。
因此,.wrapperright
的scrollTop
根据其当前滚动位置设置为不同的值
我建议将.wrapperright
的滚动顶部
位置添加到目标元素的偏移顶部:
scrollTop: $('.wrapperright').scrollTop() + $("#generationanxiety").offset().top
我还建议在动画之前添加.stop(true,false)
,以防止排队。
看
下面是一个演示:
$(“#生成按钮”)。单击(函数(){
$('.wrapperright')。停止(true,false)。设置动画({
scrollTop:$('.wrapperright').scrollTop()+$(“#generationanxiety”).offset().top
},
1500);
$('bio ul div').addClass('opacity');
$(this.removeClass('opacity');
});
var topofDiv=$(“#generationanxiety”).offset().top//获取偏移量div
变量高度=$(“#generationanxiety”).outerHeight()//获取div的高度
$('.wrapperright')。滚动(函数(){
如果($('.wrapperright').scrollTop()>(topofDiv+高度)){
$('#generationbutton').addClass('opacity');
}否则{
$(“#generationbutton”).removeClass('opacity');
}
});
$(“#lekhenabutton”)。单击(函数(){
$('.wrapperright')。停止(true,false)。设置动画({
scrollTop:$('.wrapperright').scrollTop()+$(“#lekhenaporter”).offset().top
},
1500);
$('bio ul div').addClass('opacity');
$(this.removeClass('opacity');
});
var topofDiv=$(“#lekhenaporter”).offset().top//获取偏移量div
变量高度=$(“#lekhenaporter”).outerHeight()//获取div的高度
$('#lekhenaporter')。滚动(函数(){
如果($('#lekhenaporter').scrollTop()>(topofDiv+高度)){
$('#l
scrollTop: $('.wrapperright').scrollTop() + $("#generationanxiety").offset().top