向左滑动隐藏div,向右滑动活动div

时间:2013-03-22 12:15:00

标签: jquery hidden absolute parallax sliding

我有一系列div,第一个是活动的(显示带链接的欢迎屏幕)。 其他是隐藏的div绝对位置:-100%(这些也包含链接)。

我需要这样做,以便当用户点击链接时,当前div向左滑动(平滑),新内容从右侧滑动(平滑)。

视差滑动对我不起作用,因为您可以从另一个滑动导航到每张幻灯片,但我不希望网站滚动浏览所有幻灯片以到达目标容器。我只想在到达请求的内容之前有一个滚动序列。

我所看到的大部分内容似乎都是滚动脚本,可以使用浮动div,因此如果单击链接3,则会滑过1,2,3。我需要错过中间的东西! 我希望这有道理!?

如果可能的话,我想要动态加载幻灯片的内容?但我完全迷失了那个!!

这是我到目前为止的代码......

http://jsfiddle.net/ykbgT/5249/

这几乎是我所需要的,但正如你所看到的,所有幻灯片都在同时被调用!所有帮助都很受欢迎!!!

html, body{
width:100%;
height:100%;
padding:0px;
margin:0px; 
overflow: hidden; 
}
.wrapper {
position: absolute;
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
overflow: hidden;  
}
.slide{
position: absolute;
width: 200%;
height: 100%;
font-size: 30px;
text-align: center;
border: 2px solid black;
left: 100%;
top:0px;
}
.navigation{
font-size:14px;
}
.navigation a{
display:block;
background-color:#000;
color:#fff;
padding:5px;
float:left;
margin-right:5px;
}
#slide1{
background-color:#000;
background-image:url(images/BG1.jpg);
background-position:center top;
background-repeat:no-repeat;
width:100%;
left: 0%;
}
.inner{
width:960px;
height:800px;
background-color:#fff;
margin-left:auto;
margin-right:auto;
position:relative;
}
#slide2{
background-color:#090;

}
#slide3{
background-color:#F30;
}
.content{
width:30%;
height:80%;
float:right;
background-color:#fff;
margin:10%;
}

</style>

</head>

<body>
<div class="wrapper">

<div class="slide" id="slide1">
<div class="inner">
   WELCOME CONTENT HERE
</div>
</div>

<div class="slide" id="slide2">
<div class="content">
      <div>SLIDE 2 DYNAMIC CONTENT LOADS HERE</div>
      <div class="navigation">
      <a class="button">LINK TO SLIDE 3</a>
      <a class="button">LINK TO SLIDE 4</a>
      <a class="button">LINK TO SLIDE 5</a>
      <a class="button">LINK TO SLIDE 6</a>
      <a class="button">LINK TO SLIDE 7</a>
      <a class="button">LINK TO SLIDE 8</a>
      </div>
</div>
</div>

<div class="slide" id="slide3">
<div class="content">
      <div>SLIDE 3 DYNAMIC CONTENT LOADS HERE</div>
      <div class="navigation">
      <a class="button">BACK TO SLIDE 2</a>
      <a class="button">LINK TO SLIDE 4</a>
      <a class="button">LINK TO SLIDE 5</a>
      <a class="button">LINK TO SLIDE 6</a>
      <a class="button">LINK TO SLIDE 7</a>
      <a class="button">LINK TO SLIDE 8</a>
      </div>
</div>
</div>
</div>

1 个答案:

答案 0 :(得分:0)

我已更新我的解决方案并将其发布在jsFiddle中。 我还没有完成解决方案,但按钮2和三个工作。

http://jsfiddle.net/Ns7sH/

$('.button2').click(function() {
    var thisElement = $('#slide2')[0]
    var previousElement = thisElement.previousElementSibling;

    $(previousElement).animate({
            left: '-100%',
        }, 1000 );

        $(thisElement).animate({
            left: '0%',
        }, 1000 );

});

它没有jquery ajax加载的内容,我会在以后有时间把它放进去。