如何更改滚动元素的位置?

时间:2012-12-27 09:02:40

标签: jquery css scroll window

我想同时更改属性top 的值我滚动。 我不想使用position: fixed。我使用position: absolute

每次向下滚动时,我都希望1px添加box

我希望每次向上滚动时都将1px移至box

怎么做?

<div id="box" style="position: absolute">
   // content
</div>

$(document).bind('scroll', function(){ 
    $("#box").css("top", ..... ); 
});

2 个答案:

答案 0 :(得分:1)

你可以这样做,

$(window).on('scroll', function(){
  change_box_css();
});

function change_box_css(){
 //FF
 $('#box').bind('DOMMouseScroll', function(e){
 if(e.detail > 0) {
     //scroll down -> set css top
 }else {
     //scroll up   -> set css top
 }

 });

  //IE, Opera, Safari
 $('#box').bind('mousewheel', function(e){
 if(e.wheelDelta < 0) {
     //scroll down -> set css top

 }else {
     //scroll up -> set css top

 }

 });

 }

现在你应该根据你的意愿设置你的css顶部

答案 1 :(得分:0)

您可以使用:

$(document).ready(function(){

    $("#box").on('scroll', function(){

          $(this).css('top',$(document).scrollTop());
    });
});

虽然我同意你应该使用position: fixed,除非你试图让用户在他/她滚动页面时“跟随”用户,如侧边栏或其他东西。