CSS在IE9中动态更改位置

时间:2011-10-09 10:22:21

标签: css

无论如何,在IE 9及之前动态地将元素的位置样式从“绝对”动态更改为“固定”?

换句话说,我们希望一个元素在页面上垂直移动,直到它到达窗口顶部然后在那一点使它固定,这样它就不会再上升了?有意义吗?

3 个答案:

答案 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/