如何使这个滚动只移动容器div而不是整个身体

时间:2011-08-09 01:15:15

标签: jquery html css

我正在使用UIWebView创建一个HTML5 iOS应用程序,我正在尝试这样做,以便当用户导航选项卡时,从选项卡到选项卡有一个水平幻灯片/滚动效果。幻灯片/滚动效果正在运行,但它正在移动整个文档而不仅仅是容器div。我想要的只是容器div中的元素滚动/滑动和页脚保持原位。

<body> 
    <div id="container"> 
        <div id="home-content">
            <div></div>
            <div>
                <div></div>
                <div></div>
            </div>
            <div></div>
        </div>
        <div id="gallery-content">
        </div>
        <div id="merch-content">
        </div>
        <div id="apps-content">
        </div>
        <div id="press-content">
        </div>
        <div id="footer"> 
            <ul class="nav"> 
                <li class="home active"><span><a href="#home-content" style="text-decoration:none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span></li> 
                <li class="gallery"><span><a href="#gallery-content" style="text-decoration:none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span></li> 
                <li class="merch"><span><a href="#merch-content" style="text-decoration:none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span></li> 
                <li class="apps"><span><a href="#apps-content" style="text-decoration:none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span></li> 
                <li class="press"><span><a href="#press-content" style="text-decoration:none;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></span></li> 
            </ul> 
        </div>
    </div> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>      
    <script src="js/jquery.easing.1.3.js" type="text/javascript" charset="utf-8"></script> 
    <script type="text/javascript"> 
        $(function() {
          $('ul.nav a').bind('click',function(event){
            var $anchor = $(this);
            $('html, body').stop().animate({
            scrollLeft: $($anchor.attr('href')).offset().left
          }, 1000);
          event.preventDefault();
          });
        });
    </script> 
</body> 

1 个答案:

答案 0 :(得分:0)

您的div#footer位于div#container内。

将其移到div#container之外,然后将脚本更改为

$('#container').stop().animate({
    scrollLeft: $($anchor.attr('href')).offset().left
}, 1000);