2012-10-23 230 views
1

对不起,如果这是一个简单的问题,但我发现很难谷歌在这个问题上。 我正在为我的网站实施一个自制的聊天系统。在任何页面的右下角都会有一个由可滚动的div组成的chatwindow(以gtalk方式)。如果显示的消息太多,则该div将变为可滚动。到现在为止还挺好。阻止整个页面滚动一个div滚动到底部

我想要的是,当用户滚动这个div并达到它的底部,滚动停止:但实际上一旦聊天div滚动,整个页面开始滚动。如果用户想要滚动页面,我希望他必须将鼠标移出聊天分区,然后滚动。

我可以在简单的CSS中实现吗?还是我需要一些JS?

在此先感谢。

回答

0

http://jsfiddle.net/Tgm6Y/1447/

我猜u需要这样的..对吗?如果你需要这样的东西..随着CSS你也需要一些JS ..

$.fn.followTo = function (elem) { 
    var $this = this, 
     $window = $(windw), 
     $bumper = $(elem), 
     bumperPos = $bumper.offset().top, 
     thisHeight = $this.outerHeight(), 
     setPosition = function(){ 
      if ($window.scrollTop() > (bumperPos - thisHeight)) { 
       $this.css({ 
        position: 'absolute', 
        top: (bumperPos - thisHeight) 
       }); 
      } else { 
       $this.css({ 
        position: 'fixed', 
        top: 0 
       }); 
      } 
     }; 
    $window.resize(function() 
    { 
     bumperPos = pos.offset().top; 
     thisHeight = $this.outerHeight(); 
     setPosition(); 
    }); 
    $window.scroll(setPosition); 
    setPosition(); 
}; 

$('#one').followTo('#two');