2015-04-23 64 views
0

Heey大家,中心DIV水平scolling

我建立这个水平滚动的网站,但是当我点击从导航栏的链接上,在div出现在屏幕的右侧,而不是在中心。有谁知道如何解决这一问题?

这里是jQuery代码我用:

$(function() { 
      $('.fixed-nav-bar li, .fixed-nav-bar a').bind('click',function(event){ 
       var $anchor = $(this); 

       $('html, body').stop().animate({ 
        scrollLeft: $($anchor.attr('href')).offset().left 
       }, 1500,'easeInOutExpo'); 

       $('html, body').stop().animate({ 
        scrollLeft: $($anchor.attr('href')).offset().left 
       }, 1000); 
       event.preventDefault(); 

      });    

提前感谢!

+2

我们可以通过jsFiddle和HTML以及CSS看到问题吗? – Nitesh

+1

此外,jQuery建议使用.on(),因为jQuery 1.7+以上的.bind()http://api.jquery.com/on/ – Mortaza

回答

1

scrollLeft$($anchor.attr('href')).offset().left + ($(window).width() - $($anchor.attr('href')).width()) * 0.5

的部分的加计算后的窗口宽度中减去所述元件的宽度,并将该差scrollLeft的一半,导致靶在中心之中。

你可能应该清理一下我的示例代码,使它更具可读性,但这个概念应该清楚。

+0

谢谢!有用! – user4796074