将当前类添加到自动图像更换器

时间:2012-11-30 12:16:49

标签: javascript jquery html css image

我有一种图像旋转器,可以在一定的时间间隔内通过javascript滚动图像数组,现在我已经为每个当前图像添加了一些样式。但只有当我自己将鼠标悬停在项目/点击项目上时,只有当脚本在auto上交换图像时才会有效,没有任何风格在图像上发生。 所以我想知道的是我如何在自动脚本上使用相同的效果。

这是代码

* HTML *

<div class="container-thumbs">
<div><a><img src=".jpg" /></a></div>
<div><a class="active"><img src=".jpg" /></a></div> 
<div><a><img src=".jpg" /></a></div>
</div>

CSS

.container-thumbs{
width: 300px; height: 25; font-size: 18px;
}
.container-thumbs a{
list-style: none; float: left; margin-right: 4px; padding: 5px;
}
.container-thumbs div a:hover, .container-thumbs div a.active {
background-color: #f90;
}

的Javascript

(function(){
var rotator = document.getElementById('bigImage');
var imageDir = '../images/headers/';
var delayInSeconds = 5;     
var images = ['.jpg', '.jpg', '.jpg', '.jpg', '.jpg',     
'.jpg', '.jpg'];
var num = 0;
var changeImage = function() {
var len = images.length;
bigImage.src = imageDir + images[num++];
if (num == len)
{num = 0;} 
};
setInterval(changeImage, delayInSeconds * 1000);
})();

2 个答案:

答案 0 :(得分:0)

我认为你必须用旋转器代替bigImage 因为你得到了TheImage

var rotator = document.getElementById('bigImage');
// then u dont use it
bigImage.src = imageDir + images[num++];
// so try to change to
rotator.src=imageDir + images[num++];

古德勒克

答案 1 :(得分:0)

你的html中没有ID为bigImage的元素,所以我看不出它是如何工作的。

我在中间图像中添加了ID,如下所示:

<div class="container-thumbs">
    <div><a><img src=".jpg" /></a></div>
    <div><a class="active"><img src=".jpg" id="bigImage" /></a></div> 
    <div><a><img src=".jpg" /></a></div>
</div>

这应该有效。

另一件事,是否有充分的理由不在这里使用jQuery?我强烈推荐它用于跨浏览器兼容性,如果没有别的。