我想我明白你在描述什么。你需要两个元素,并排放置。左侧元素将显示图像的左侧 50%,右侧元素将在右侧显示剩余的 50%。然后,您将在屏幕外为这些设置动画。左侧将向左全宽,右侧将向右侧全宽,在它们下方显示您的图像。
单元素:
IMG 元素
+-------------------------------------------------- ------------------------------+
|全图 |
+-------------------------------------------------- ------------------------------+
两个元素:
元素 A 元素 B
+----------------------------------------++-------- ------------------------------+
|左 50% IMG L ||右 右 50% IMG |
+----------------------------------------++-------- ------------------------------+
动画之后:
---+---------------------------------------------------------- ---------------+---
大号 |第二张图片 | R
---+---------------------------------------------------------- ---------------+---
所以每张图片都需要两个元素来显示它们。您可以将其构建为这样的列表:
<ul id='slideshow'>
<li><img src='foo.png' /></li>
<li><img src='bar.png' /></li>
</ul>
使用 jQuery,您可以将列表项内容重组为以下内容:
<li>
<div class='left'>
<img src='foo.png' />
</div>
<div class='right'>
<img src='foo.png' />
</div>
</li>
<li>
<div class='left'>
<img src='bar.png' />
</div>
<div class='right'>
<img src='bar.png' />
</div>
</li>
此时,您可能希望为包含所有这些列表项的UL 设置一个固定的宽度和高度,并将它们相对于其父项设置为 0,0。然后,您将给每个人一个z-index 以将它们一层层叠加。
使用 jQuery,您可以抓取具有最高 z-index 的元素并将其 left 和 right 元素设置为屏幕外的动画,从而显示具有第二高 z-index 的元素。然后,您将最近动画元素的 z-index 更改为比最低值小 1,然后将其 left 和 right 项目返回到其原始位置。
然后对新可见的列表项重复最后的步骤。