有什么理由说明为什么这个功能不会重复?
var $title = $('#title');
var animateGlow = function($title) {
$title.animate({ 'color':'red' }, 2000)
.animate({ 'color':'blue' }, 2000, function() {
animateGlow(this);
});
};
animateGlow($title);
答案 0 :(得分:2)
通过$(this)
代替this
,原生对象没有animate
功能
使用
var $title = $('#title');
var animateGlow = function ($title) {
$title.animate({
'color': 'red'
}, 2000).animate({
'color': 'blue'
}, 2000, function () {
animateGlow($(this));
});
};
animateGlow($title);
答案 1 :(得分:1)
尝试使用end()方法:
var $title = $('#title');
var animateGlow = function($title) {
$title.animate({ 'color':'red' }, 2000).end()
.animate({ 'color':'blue' }, 2000, function() {
animateGlow($title);//replaced this with $title
});
};
animateGlow($title);
答案 2 :(得分:1)
您正在使用元素引用而不是jQuery对象调用该函数。使用$(this)
换行元素,或者更好地使用$title
变量中已有的元素:
var $title = $('#title');
var animateGlow = function($title) {
$title.animate({ 'color':'red' }, 2000)
.animate({ 'color':'blue' }, 2000, function() {
animateGlow($title);
});
};
animateGlow($title);