目的:寫一個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