我想我明白你在描述什么。你需要两个元素,并排放置。左侧元素将显示图像的左侧 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 处。然后,您将给每个 az-index
以将它们层叠在一起。
使用 jQuery,您可以抓取最高的元素,并在屏幕外对其和元素z-index
进行动画处理,从而显示具有第二高 z-index 的元素。然后,您将最近动画元素的 更改为比最低元素小 1,然后将其和项目返回到其原始位置。left
right
z-index
left
right
然后对新可见的列表项重复最后的步骤。