我有一个元素,当用户滚动经过网页上的某个部分时,该元素会更改颜色,除非用户已经滚动通过了该部分,然后刷新了页面,否则所有元素都可以正常工作。
刷新页面时,页面保留在其最后位置,但元素颜色恢复为其原始CSS颜色。
例如
从本质上讲,我正在寻找一种方法,一旦页面刷新,JavaScript / JQuery是否可以识别元素所针对的部分,然后相应地添加正确的CSS属性。
这是我当前拥有的代码:
var targetOffset = $("#firstSection").offset().top;
var $w = $(window).scroll(function() {
if ($w.scrollTop() >= targetOffset) {
$(".element").css({ color: "#636C72" });
} else {
$(".element").css({ color: "white" });
return false;
}
});
答案 0 :(得分:2)
在定义滚动时只需触发滚动即可运行逻辑。
var $w = $(window).scroll(function() { }).scroll()
或使用触发器
var $w = $(window).scroll(function() { }).trigger('scroll')
或使其成为功能
var scrollFnc = function () {}
var $w = $(window).scroll(scrollFnc)
scrollFnc()