jquery - 我如何让这个滚动只移动容器 div 而不是整个 body

标签 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> 

最佳答案

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

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

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

关于jquery - 我如何让这个滚动只移动容器 div 而不是整个 body ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990403/

相关文章:

javascript - 使用 Javascript 以编程方式单击 iframe 中的链接

javascript - 如何将启动 Bootstrap 模板添加到 asp.net mvc web 应用程序?

javascript - 如何动态创建对话框?

javascript - 禁用特定 div 的可拖动功能

javascript - 为什么不委托(delegate)滚动工作?

javascript - alpinejs 的 x-cloak 问题

javascript - 嵌入式 Flash MP3 播放器播放某些文件速度较慢,但​​播放其他文件正常

javascript - 使用 javascript 或 jQuery 在另一个图像的中心旋转一个图像

javascript - 根据 slider 内容更改多个元素内容/背景

javascript - 将表注入(inject)特定类