当我想出自己的解决方案时,我会回答我自己的问题。对不起,如果我解释不好,我希望它也可以对某人有用。我必须避免jQuery的一个特殊原因,有时它必须是这样的。下面是代码,随意发表评论,并提高......一个工作版本在这里http://jsbin.com/oxujuf/3
function rotator(options) {
var a = options.delay;
var b = options.media;
var mediaArr = [];
for(var i = 0, j = b.length; i < j; i++) {
mediaArr.push(b[i].img);
}
document.write('<div id="rotatorContainer"></div>');
var container = document.getElementById('rotatorContainer');
var Start = 0;
rotatorCore();
function rotatorCore() {
Start = Start + 1;
if(Start >= mediaArr.length)
Start = 0;
container.innerHTML = mediaArr[Start];
setTimeout(rotatorCore, a);
}
}
再后来,你可以这样调用它,与一个简单的API。
rotator({
delay : 3500,
media : [{
img : '<img src="http://lorempixel.com/output/abstract-h-c-149-300-7.jpg" width="149" height="300" border="0" />'
}, {
img : '<img src="http://lorempixel.com/output/abstract-h-c-149-300-2.jpg" width="149" height="300" />'
}]
});
需要什么样的灵活性?那我的意思是0,90,180,270度就够了吗?这个动作是动态的还是程序性的? – CBusBus 2012-01-17 16:52:14
我的意思是一个出现,另一个消失。没有角度旋转。 – devjs11 2012-01-17 16:56:31
我只是好奇,为什么没有jQuery? – njbair 2012-01-17 17:03:02