0

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

我想1pxbox每次向下滚动时添加。

每次向上滚动时,我都想1px删除。box

怎么做 ?

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

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

2 回答 2

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 顶部

于 2012-12-27T09:11:09.877 回答
0

你可以使用:

$(document).ready(function(){

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

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

虽然我同意你应该使用position: fixed,除非你试图让一个 div 在用户滚动页面时“关注”用户,比如侧边栏或其他东西。

于 2012-12-27T09:08:43.960 回答