我的页面上有 3 个 DIV 元素,当垂直滚动时我需要在页面顶部“粘贴”。这些元素在除 IE 系列之外的所有浏览器中都可以正常工作;您可以明显看到粘性动画,并且非常紧张。
我有以下 javascript 来制作我的 div 粘性元素:
var name = "#webcto_menu";
var name2 = "#webcto_pane";
var name3 = "#webcto_pane_menu";
$(document).ready(function() {
menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px")))
$(window).scroll(function () {
offset = menuYloc+$(document).scrollTop()+"px";
$(name).animate({top:offset},{duration:0,queue:false});
});
menuYloc2 = parseInt($(name2).css("top").substring(0,$(name2).css("top").indexOf("px")))
$(window).scroll(function () {
offset = menuYloc2+$(document).scrollTop()+"px";
$(name2).animate({top:offset},{duration:0,queue:false});
});
menuYloc3 = parseInt($(name3).css("top").substring(0,$(name3).css("top").indexOf("px")))
$(window).scroll(function () {
offset = menuYloc3+$(document).scrollTop()+"px";
$(name3).animate({top:offset},{duration:0,queue:false});
});
});
如您所见,每个粘性动画都在 0 毫秒(持续时间:0)。是否可以使用此方法来表现得更像“css:fixed”元素而不为回滚设置动画?我最初确实修复了我的元素,但是当浏览器窗口太窄时出现了问题(没有固定元素的水平滚动。)