我正在尝试开发一个脚本,其中标题一旦进入目标div就克隆,而不使用fromTop函数。谢谢:))
$(document).ready(function() {
var $header = $(".header"),
$clone = $header.before($header.clone().addClass("clone"));
$(window).on("scroll", function() {
var fromTop = $(window).scrollTop();
$("body").toggleClass("down", (fromTop > 490));
});
});
我还制作了一个jsFiddle - https://jsfiddle.net/Lng9cf7v/2/
答案 0 :(得分:1)
此代码查找导航栏与您希望克隆导航栏的div之间的当前距离。一旦两者之间的距离为0px或更小(导航栏位于div的顶部或下方),则通过添加.down
类来显示导航栏。 toggleClass()
导致导航栏出现抖动,因此我使用了addClass()
和removeClass()
。
$(window).on("scroll", function() {
var cloneArea = $('.other-div').offset().top;
var fromTop = $(window).scrollTop();
if ((fromTop - cloneArea >= 0) && ($("body").hasClass("down") == false)) {
$("body").addClass("down");
} else if ((fromTop - cloneArea < 0) && ($("body").hasClass("down") == true)) {
$("body").removeClass("down");
}
});