我的页面上有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});
});
});
如您所见,每个粘性动画都是0ms(持续时间:0)。是否可以使用此方法更像是“css:fixed”元素,而无需动画回滚动画?我最初修复了我的元素,但是当浏览器窗口太窄时出现问题(没有固定元素的水平滚动。)