无论如何,在IE 9及之前动态地将元素的位置样式从“绝对”动态更改为“固定”?
换句话说,我们希望一个元素在页面上垂直移动,直到它到达窗口顶部然后在那一点使它固定,这样它就不会再上升了?有意义吗?
答案 0 :(得分:1)
它只适用于我的IE 9副本。
document.getElementById('foo').style.position = 'fixed';
答案 1 :(得分:1)
您正在寻找的是根据其他页内条件更改此值的方法。
我建议您需要的是类似于此的东西(使用jQuery):
var targetElement = $('#your-fixed-absolute-element');
var togglePixelY = 100; // change to suit your needs
$(window).bind('scroll resize',function(){
if($(this).css('scrollTop') <= togglePixelY && !targetElement.hasClass('absolute')) {
targetElement.addClass('absolute').removeClass('fixed');
} else if($(this).css('scrollTop') > togglePixelY && !targetElement.hasClass('fixed')) {
targetElement.addClass('fixed').removeClass('absolute');
}
});
以下是您可以阅读的另一个有用的问题:
Get current scroll position and pass it as a variable with a link?
或Position of a div relative to the window?
并且有插件(例如,查找“粘性侧边栏”)以及一个很好的教程:http://designwoop.com/2011/01/how-to-create-a-jquery-sticky-sidebar/
答案 2 :(得分:0)
使用jQuery? http://api.jquery.com/css/