2012-03-11 39 views
0

我只有一個按鈕,我的頁面會將用戶跳轉到下面的聯繫表單,並且我想突出顯示錶單中的第一個字段讓它回到預設的焦點背景顏色。似乎使用.css()方法不允許延遲,似乎.animate()不能改變表單字段的屬性。有小費嗎?使用JQuery在表單字段上設置.delay()。animate()方法

$(document).ready(function() { 
    $('#class_sign_up_btn, #work_with_brian_btn').click(function() { 
     $('#name').focus(); 
     $('#name').css('background','#E3BD00').delay(500).animate({'background':'grey'}, 300); 
    }); 
}); 

回答

0

動畫,可能需要閱讀此:jQuery animate backgroundColor

$('#class_sign_up_btn, #work_with_brian_btn').click(function() { 
$('#name').focus(); 
    $('#name').css('background','#E3BD00'); 

    setTimeout(function() { 
     $('#name').css({'background':'grey'}); 
    }, 500); 

}); 
0

的問題是需要jQuery的一個擴展,以便能夠支持顏色屬性,包括背景色的動畫。

你有幾個選項。您可以抓住jQuery Color pluginjQuery UI core。希望這可以幫助。

0

使用setTimeout。確保存儲引用超時,以便您可以清除它,如果再次點擊按鈕。

'$(文件)。就緒(函數(){ VAR超時;

$('#class_sign_up_btn, #work_with_brian_btn').click(function() { 
    clearTimeout(timeout); 
    $('#name').focus(); 
    $('#name').css('background','#E3BD00'); 
    timeout = setTimeout(function() { 
     $('#name').animate({'background': 'grey'}, 300); 
    }, 500); 
}); 

});

`

+0

原來JQuery用戶界面具有此構建爲[.highlight()方法(http://docs.jquery.com/UI/Effects/Highlight)。它適用於我正在嘗試做的事情 - 專注於表單中的某個字段並簡要地引起注意。很高興知道如何通過使用.setTimout()方法使用本地JS執行此操作。謝謝! – KeenanC 2012-03-11 20:49:26

相關問題