【发布时间】:2012-01-23 00:36:58
【问题描述】:
我希望有人能救我!我正在尝试为我的页面创建一个(希望如此)简单的旋转横幅。我有 7 个包含照片和文字的 div,它们如下:
<div id="content-1">Sample text</div>
<div id="content-2">Sample text</div>
<div id="content-3">Sample text</div>
<div id="content-4">Sample text</div>
<div id="content-5">Sample text</div>
<div id="content-6">Sample text</div>
<div id="content-7">Sample text</div>
在这些 div 下方,我有 7 个相应的 div 缩略图:
<div id="thumb-content-1">Sample text</div>
<div id="thumb-content-2">Sample text</div>
<div id="thumb-content-3">Sample text</div>
<div id="thumb-content-4">Sample text</div>
<div id="thumb-content-5">Sample text</div>
<div id="thumb-content-6">Sample text</div>
<div id="thumb-content-7">Sample text</div>
我想做几件事:
1) 每 5 秒循环通过一个新的 div(因此“content-1”会显示 5 秒,然后是“content 2”等。
2) 为当前缩略图应用一个名为“cr-rotator”的类。我已经设置了样式。
3) 当用户将鼠标悬停在主 div 或缩略图 div 上时,我希望能够暂停它的旋转。
4) 最后,我想拥有它,这样如果您将鼠标悬停在缩略图上,它会更改主要内容,然后在您关闭鼠标时继续循环。例如,假设您将鼠标悬停在“thumb-content-3”上,它将使 div“content-3”可见,然后当您将鼠标移出时,它将继续循环。
我知道这里有很多要求,我提前感谢任何可以帮助我的人。我已经获得了一个脚本来循环浏览主要图像,但我不确定如何实现其余部分:
var divs = $('div[id^="content-"]').hide(),
i = 0;
(function cycle() {
divs.eq(i).fadeIn(200)
.delay(3000)
.fadeOut(200, cycle);
i = ++i % divs.length; // increment i,
// and reset to 0 when it equals divs.length
})();
非常感谢任何可以帮助我的人。
【问题讨论】:
-
你说:'4)改变主要内容'...主要内容是什么? ...如果您单击缩略图怎么办?有什么互动吗?还是说单击实际上是要注意的 mouseOver?
-
对不起,对于数字 4,我的意思是,如果您将鼠标悬停在缩略图上,它将使相应的 div 可见。例如,假设您将鼠标悬停在“thumb-content-3”上,它将使 div“content-3”可见。另外,我设置了它,以便在每个缩略图 div 中都有一个图像,当单击该图像时会转到特定页面。
-
您真的需要所有这些 ID 吗?你不能只为你的元素组使用一个类吗?附言。你能设置一个带有演示的 jsfiddle 或 jsbin,以便我可以添加一个 jQ 吗?