【问题标题】:jQuery/HTML - Horizontal scrollingjQuery/HTML - 水平滚动
【发布时间】:2011-09-09 14:24:05
【问题描述】:

我在滚动时遇到问题...我想要做的是在单击一个按钮后,让一个 div 向左滚动,另一个向右滚动/一个出去,第二个。但我找不到任何解决方案,我'在强制第二个 div 靠近第一个并隐藏它时遇到问题......有什么想法吗?

Website

【问题讨论】:

  • 我们真的可以使用您提供的一些实际代码。同时,看看api.jquery.com/scrollLeft
  • 只是查看源代码,它没有乱码,我不想在这里放一个 200 行的代码...但基本上我不想一个 div 推另一个,反之亦然...
  • 您的页面链接到六个外部 javascript 文件,并且可能包含两打 DIV。请将您的代码简化到包含问题的最低限度并在此处发布。
  • 抱歉没有说清楚...这个和 div 不需要外部文件...只需搜索页面,在其中您有 2 个 div、画廊和家我想要画廊在家附近但没有看到,点击后画廊应该向左推。
  • 查看我的答案@David Debnar,您可以应用相同的技术并将所有页面加载到一个页面中,使用 DIV 甚至标签进行书签。

标签: jquery html scroll jquery-animate horizontal-scrolling


【解决方案1】:

我已经阅读了您的问题,这是我所理解的;

您正在尝试使用另一个 div 为 div 设置动画,解决方案如下:

查看小提琴以获取工作示例:http://jsfiddle.net/HNY7R/

HTML

<div id="container">
    <div class="main"></div>
    <div class="second"></div>
</div>

<input type="button" id="push" value="push me" />

CSS

#container
{ width: 400px; height: 200px; position: relative; border:1px solid black; overflow: hidden; }

.main
{ width: 400px; height: 200px; position: absolute; left: 0; top: 0; background: green; }

.second
{ width: 400px; height: 200px; position: absolute; left: 400px; top: 0; background: red; }

jQuery

$('#push').click(function(){

        var main = $('.main').css('left');
        var second = $('.second').css('left');

        if(main == '-400px'){
            $('.second').animate({ 'left' : '400px' }, 500);
            $('.main').animate({ 'left' : '0px' }, 500);
        } else {
            $('.second').animate({ 'left' : '0px' }, 500);
            $('.main').animate({ 'left' : '-400px' }, 500);
        }


    }); 

【讨论】:

  • 好的..帮了我很多,但我有一个问题..当我点击显示更多内容时,高度不会调整,我不想在开始,有什么想法吗?
  • 你应该使用.outerHeight()的孩子在动画之前重新调整父母的大小
猜你喜欢
  • 1970-01-01
  • 2012-05-12
  • 1970-01-01
  • 1970-01-01
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-08
相关资源
最近更新 更多