0

我使用 jquery 用鼠标滚轮进行水平滚动。它是工作..

 $('html').mousewheel(function (event, delta) {
            this.scrollLeft += (delta * 50);
            event.preventDefault();
        });

我想要水平滚动内部锚链接点击,

我使用这段代码:

   $(".prevscroll").click(function (event) {
               event.preventDefault();
               $.scrollTo(this.hash, 150, { easing: 'elasout' });
        });

或者

  $(window).scrollLeft((Number($(window).scrollLeft()) + 50) + 'px');

或者

 $('body').scrollLeft(50);

但不要滚动!!!!

我的html代码

<script type='text/javascript' src="js/jquery.mousewheel.min.js"></script>
<script type='text/javascript' src="js/jquery.min.js"></script>
<script type='text/javascript' src="js/jquery.mousewheel.js"></script>
<style>
 .content
 {
padding: 20px 20px 0;
display: block;
z-index: 1;
height: 340px;
position: relative;
}
#contentWrapper
{
position: absolute;
max-width: 100%;
min-width: 400px;
min-height: 350px;
padding: 0 20px 30px 20px;
z-index: 1;
} 
</style>


<div style="display: block;top:107px" id="contentWrapper">
  <a class="prevscroll"></a>
   <div style="margin-right: 0px;" id="content">
    //My content
   </div>
</div>
4

2 回答 2

0

您应该将mousewheel函数绑定到bodynothtml-=not +=。你需要减少而不是增加你的价值scrollLeft

$(function() {

    $("body").mousewheel(function(event, delta) {
        var $this = $(this);

        this.scrollLeft -= (delta) * 50;
        event.preventDefault();
    });
});

演示:http: //jsfiddle.net/EBPdr/1/

于 2013-04-06T06:16:57.280 回答
0

我找到了答案。

$(".prevscroll").click(function (event) {
            $('html, body').scrollLeft($('html, body').scrollLeft()+150);
              event.preventDefault();
        });
于 2013-04-06T07:25:47.227 回答