$('.b').each(function(){ var text = this.innerHTML; text = text.split(''); for(var i=0;i<text.length;i++){ text[i] = '<span>'+text[i]+'</span>'; } this.innerHTML = text.join(''); }) function randomColor(){ var r = parseInt(Math.random()*255); var g = parseInt(Math.random()*255); var b = parseInt(Math.random()*255); return ['#',r.toString(16),g.toString(16),b.toString(16)].join('') }$('.b span').each(function(){ var fn = arguments.callee; $(this).animate({color:randomColor()},200,function(){ fn.call(this) }) }) 自己引入那个插件。
var text = this.innerHTML;
text = text.split('');
for(var i=0;i<text.length;i++){
text[i] = '<span>'+text[i]+'</span>';
}
this.innerHTML = text.join('');
})
function randomColor(){
var r = parseInt(Math.random()*255);
var g = parseInt(Math.random()*255);
var b = parseInt(Math.random()*255);
return ['#',r.toString(16),g.toString(16),b.toString(16)].join('')
}$('.b span').each(function(){
var fn = arguments.callee;
$(this).animate({color:randomColor()},200,function(){
fn.call(this)
})
})
自己引入那个插件。
$('.b span').each(function(){
var fn = arguments.callee; //什么意思啊
$(this).animate({color:randomColor()},200,function(){
fn.call(this);// //什么意思啊
})
})
var fn = arguments.callee; //什么意思啊--fn指向函这个函数本身,为了省一个变量名
$(this).animate({color:randomColor()},200,function(){
fn.call(this);// //什么意思啊--在前一次渐变结束之后再次调用一次这个方法,并且把this指向当前的元素,不然之后执行$(this).animate的时候this就不是选择的span了
})
})
var text = this.innerHTML;
text = text.split('');
for(var i=0;i<text.length;i++){
text[i] = '<span>'+text[i]+'</span>';
}
this.innerHTML = text.join('');
})
function randomColor(){
var r = parseInt(Math.random()*255);
var g = parseInt(Math.random()*255);
var b = parseInt(Math.random()*255);
return ['#',r.toString(16),g.toString(16),b.toString(16)].join('')
}var speed = 200;
$('.b span').each(function(i){
var span = $(this);
setTimeout(function(){
span.animate({color:randomColor()},200)
},speed*i);
})按他的改改 不过这样只是 快字独立逐个改色我觉得你的需求是不是和 唱歌的字幕一样 从头到尾涂过去这样的话 你需要 在 原来的 文字块上放 一个带 颜色的文字块
变色就是 上面的颜色文字块的 宽度 从 0%--100%