如果窗口大小改变,如何让affix函数重新计算顶部和底部位置?目前它只是坚持文件准备好后给出的原始值。这会在更改屏幕尺寸时导致重叠。我尝试在(窗口).on('load')等中包装函数,但这导致函数根本不起作用。
jQuery(document).ready(function(){
jQuery('#sb_image').affix({
offset: {
top: function() {
return(this.top = jQuery('#fullhead_wrap').outerHeight(true))
},
bottom: function() {
return (this.bottom = jQuery('#ft_cont').outerHeight(true))
}
}
});
});
答案 0 :(得分:0)
好的,经过大量的谷歌搜索和实验,我已经找到了如何获得词缀以做出回应。首先我无法将我的代码包装在窗口调整大小函数中的原因是因为我在我的附加元素上设置了data-spy =“affix”属性。如果您使用的是jQuery,则不需要这样做。其次,如果使用this.top =或this.bottom =设置bottom和top值,它将获取给定的第一个值,即使值已更改,也不会覆盖此值。以下是我最终的结果:
jQuery(document).ready(function(){
jQuery(window).on('load', function(){
jQuery('#sb_image').affix({
offset: {
top: function() {
return(jQuery('#fullhead_wrap').outerHeight(true))
},
bottom: function() {
return (jQuery('#ft_cont').outerHeight(true))
}
}
});
});
});