目的:写一个js(使用jquery),它将执行2行闪烁。如何以更优雅的方式写闪烁
我现在拥有的是
var $second_row = $('table tr:eq(1)'),
target_color = 'PaleGreen',
original_color = $second_row.css('background-color');
$second_row.css('background-color', target_color);
scheduleOriginalColor();
function scheduleTargetColor() {
setTimeout(function() {
$second_row.css('background-color', target_color);
scheduleOriginalColor(true);
}, 500);
}
function scheduleOriginalColor(stop) {
setTimeout(function() {
$second_row.css('background-color', original_color);
if (!stop) {
scheduleTargetColor();
}
}, 500);
}
http://jsfiddle.net/zerkms/ecfMU/1/
但它看起来丑陋,我敢肯定有写同一个更好的方式。
任何建议?
UPD:还有就是我的第二次尝试,有点更加清晰:http://jsfiddle.net/zerkms/ecfMU/2/
var $second_row = $('table tr:eq(1)'),
target_color = 'PaleGreen',
original_color = $second_row.css('background-color');
setRowColor(target_color, 500);
setRowColor(original_color, 1000);
setRowColor(target_color, 1500);
setRowColor(original_color, 2000);
function setRowColor(color, timing) {
setTimeout(function() {
$second_row.css('background-color', color);
}, timing);
}
''
@rjz:呵呵,不错的尝试;-) – zerkms
@zerkms我更新的答案要求/不使用jQuery,并允许您定义频率和总闪烁次数。 – Sampson