2013-04-09 148 views
2

我正在使用包含三个垂直对齐的滑块的右侧边栏。当我向下滚动到200像素时,我想要修正边栏的位置。这里是我的代码到目前为止:将DivIV位置固定为当滚动到位置时 - jQuery

$(document).ready(function() { 
    window.onscroll = function() { 
     if (window.pageYOffset >= 200){ 
      $('.col-right').css({position: 'fixed', right: '490px'}); 
     } 
    } 
} 

当我使用此代码时没有任何反应。它检测到我正在滚动,但它没有将CSS属性设置为“col-right”类,它是侧边栏。我做对了吗?

+1

使用引号,''固定'','固定'是 – undefined 2013-04-09 17:49:50

+0

添加并没有任何反应。 – 2013-04-09 18:14:07

回答

3

取代:

.css({position: fixed, right: 490px}); 

.css({position: 'fixed', right: '490px'}); 

字符串应该被引用!

+0

这样做没有任何反应。 – 2013-04-09 17:54:12

+0

适用于我 - > [** FIDDLE **](http://jsfiddle.net/pzNYX/),您是否记得document.ready,因为您使用jQuery来获取DOM元素。 – adeneo 2013-04-09 18:02:39

+0

是的,我将document.ready函数添加到代码中,并且它什么都不做。 – 2013-04-09 18:07:54

4

好的,我想通了。我将$更改为jQuery,一切正常。这里是我的工作解决方案:

jQuery(document).ready(function(){ 
    window.onscroll = function() { 
     if (window.pageYOffset >= 200){ 
      jQuery('.col-right').css({position: 'fixed', right: '490px', top: '40px'}); 
     } 
     else { 
      jQuery('.col-right').css({position: '', right: '', top: ''}); 
     } 
    } 
});