gpt4 book ai didi

javascript - 无延迟 float div

转载 作者:行者123 更新时间:2023-12-01 02:49:32 27 4
gpt4 key购买 nike

我试图在用户滚动内容时添加一个 float div,它几乎可以工作,但动画上几乎没有延迟,我需要当scrollTop到达 float div时 float div应该随着滚动一起动画

var $scrollingDiv = $("#scrollingDiv");

$(window).scroll(function(){
var y = $(this).scrollTop(),
maxY = $('#footer').offset().top,
scrollHeight = $scrollingDiv.height();
if(y< maxY-scrollHeight ){
$scrollingDiv
.stop()
.animate({"marginTop": ($(window).scrollTop()) + "px"}, "fast" );
}
});

Fiddle link

最佳答案

您可以更改的两个问题:

  1. 使用 JavaScript 来制作 DOM 动画通常很慢。将动画函数更改为 CSS:transform:translateY()
  2. 从滚动功能之外的 DOM 中选择项目,因此只会完成一次。

 var $scrollingDiv = $("#scrollingDiv");
var $footer = $('#footer');
var $window = $(window);

$(window).scroll(function(){
var y = $(this).scrollTop(),
maxY = $footer.offset().top,
scrollHeight = $scrollingDiv.height();
if(y< maxY-scrollHeight ){
$scrollingDiv
.css({"transform": "translateY(" + ($window.scrollTop()) + "px)"});
}
});

see the fiddle link here

关于javascript - 无延迟 float div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47057963/

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