jquery随机颜色
嗨我试图让这个脚本显示随机颜色一个接一个地滚动起来,但到目前为止我已经这样做,但它不光滑,它重新启动时发生变化,所以你不顺利效果,它会改变颜色两次任何帮助将非常感谢。jquery随机颜色
$("#carousel ul").animate({marginTop:-100},2000,function(){
function pad(s,i,c,r){
i=i+1-s.length;
if(i<1)return s;
c=new Array(i).join(c||" ");
return r?s+c:c+s;
};
hue = "#"+pad((Math.random()*0x1000000<<0).toString(16),6,"0");
hue2 = "#"+pad((Math.random()*0x1000000<<0).toString(16),6,"0");
hue3 = "#"+pad((Math.random()*0x1000000<<0).toString(16),6,"0");
$(this).find("li:last").after($(this).find("li:first"));
$('#div1').css({backgroundColor: hue});
$('#div2').css({backgroundColor: hue2});
$('#div3').css({backgroundColor: hue3});
$(this).css({marginTop:0});
})
},1000);
});
我的例子可以在这里找到事先http://swipedstudio.com/jtoy/ 谢谢!
工作代码:
var t = setInterval(function(){
$("#carousel ul").animate({marginTop:-100},2000,function(){
function pad(s,i,c,r){
i=i+1-s.length;
if(i<1)return s;
c=new Array(i).join(c||" ");
return r?s+c:c+s;
};
hue = "#"+pad((Math.random()*0x1000000<<0).toString(16),6,"0");
$(this).find("li:last div").css({backgroundColor: hue});
$(this).find("li:last").after($(this).find("li:first"));
$(this).css({marginTop:0});
})
},1000);
的问题:
- 你正在改变每一格的颜色在每一个区间,当你真的只希望改变在列表中的最后一个
- 当您更改最后一个div的颜色时,您需要使用
$(li:last div)
来选择它,因为三个div在整个列表中循环。当您特别选择div1,div2或div3时,它可能位于列表中的任何位置 - 颜色变化(至少在
$(li:last div)
选择器中)需要在after()
语句之前发生。您的原始代码更改div的顺序,然后更改颜色
谢谢!作品完美,你解释它的方式是现货。 – 2012-04-07 17:42:41
没问题!你能点击答案左边的检查来接受它吗? – ramblinjan 2012-04-08 00:08:31
刚刚完成它..我没有尝试向上的箭头,但表示要求15点声望。谢谢 – 2012-04-09 09:35:20
问题是在初始加载后,您不希望“顶部”颜色每次都改变颜色,只有底部随着它向上旋转? – ramblinjan 2012-04-03 23:06:46
不,到目前为止有3个div,但我想要的是当它们被隐藏时它们会改变颜色,而不会像现在它们在顶端时那样改变颜色,因为它们在滚动之前会闪烁另一种颜色。 – 2012-04-05 11:57:11