2012-11-05 128 views
3

目前我的div使用两个按钮(向上和向下)滚动,但我希望它跳转到顶部并跳转到底部,而这两个按钮带有垂直自动滚动(向下)。我如何在jQuery中完成此操作?这是我的代码到目前为止:http://jsfiddle.net/NkY8J/垂直滚动div文本

HTML

<div id="scroll"> 
     Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here<br /><br /> 
    Content here and more content here 
     </div> 
       <input id="scroll-up" class="btn" type="button" value="Up"/> 
       <input id="scroll-down" class="btn" type="button" value="Down"/> 
​ 

JS

$(function() { 
    var ele = $('#scroll'); 
    var speed = 25, scroll = 5, scrolling; 

    $('#scroll-up').mouseenter(function() { 
     // Scroll the element up 
     scrolling = window.setInterval(function() { 
      ele.scrollTop(ele.scrollTop() - scroll); 
     }, speed); 
    }); 

    $('#scroll-down').mouseenter(function() { 
     // Scroll the element down 
     scrolling = window.setInterval(function() { 
      ele.scrollTop(ele.scrollTop() + scroll); 
     }, speed); 
    }); 

    $('#scroll-up, #scroll-down').bind({ 
     click: function(e) { 
      // Prevent the default click action 
      e.preventDefault(); 
     }, 
     mouseleave: function() { 
      if (scrolling) { 
       window.clearInterval(scrolling); 
       scrolling = false; 
      } 
     } 
    }); 
}); 
​ 

CSS

#scroll { 
    width: 200px; 
    height: 100px; 
    overflow: hidden; 
    padding: 4px; 
}​ 
+0

“跳到顶部并跳到底部”是什么意思? –

+0

@Derek如跳转到div的第一行/跳转到div的最后一行 – methuselah

回答

1

让我们来看看这里。 http://jsfiddle.net/NkY8J/2/

只需设置ele.scrollTop(0);即可跳到顶部。

并设置ele.scrollTop(Math.pow(10,9));跳到底部。

+1

或'ele.scrollTop(Math.pow(10,9));' –

+0

感谢您的回复!垂直自动滚动怎么样?我如何得到这个工作? – methuselah

+1

@methuselah对不起,但我不明白'自动滚动'。将鼠标光标放在按钮上时,这是自动滚动。 – OammieR