javascript - 如何将元素的位置设置为在滚动时固定到一定高度,并在不是该高度时使其正常?

标签 javascript jquery html jquery-ui jquery-post

我有一个名为 cop 的 div,它具有固定位置。

该 div 的行为应与问题选项卡相同(类似),但当页面滚动时它会改变其位置。

我的脚本

<小时/>
     $(window).scroll(function()
{
    var top = 100 * $(window).scrollTop() / ($(document).height() - $(window).height());
    if (top > 40)
    {
        $(".cart, .top").fadeOut();
    }
    else
    {
        $(".cart, .top").fadeIn();      
    }
});

最佳答案

我已经在CODEPEN上创建了一个工作示例。在行动中更容易理解。首先,您需要读取滚动事件,您可以在其中对所需的元素执行操作:

$(window).scroll(function() {
   currentTop = $("body").scrollTop();

   if (currentTop > 300) {
     $(".cop").addClass("copChange");
   } else {
     $(".cop").removeClass("copChange");
   }

});

在此示例中,当您滚动超过 300 像素时,您的 .cop div 将获取相对 位置,而不是固定 位置。向上滚动时它将返回原始设置。我尝试了不同的 CSS 类,因为您可以轻松地以任何您想要的方式更改样式。

关于javascript - 如何将元素的位置设置为在滚动时固定到一定高度,并在不是该高度时使其正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35069746/

相关文章:

html - 使用 CSS、Canvas 或 SVG 的三 Angular 形

javascript - js.erb 文件在 Controller 中的 respond_to 之后不会加载

javascript - 我如何根据图像大小自动调整我的div的高度

javascript - 动态替换html标签

javascript - Angular-Fullstack - 不包括 javascript 文件的 grunt 构建

javascript - Breeze - 向请求添加 header

javascript - 使用 Javascript/jQuery 对无序列表进行排序

javascript - 遍历嵌套的javascript对象以识别空值属性

Javascript 未捕获语法错误 : Unexpected Identifier (vue. js)

javascript - 当得到swf地址后,如何用flashplayer再次显示flash?