2015-12-17 91 views
1

我有jQuery或jQuery UI的問題。我想在懸停按鈕上設置動畫效果,但不是平滑地動畫,而是等待指定的時間,然後立即彈出變化。有什麼建議麼?jQuery懸停不動畫,但延遲

當我放大Chrome瀏覽器時,看起來改變是一個兩步過程。也許是因爲它沒有太大的改變,所以它以這種方式處理?

$(".btn-form").hover(
     function() { 
      $(this).stop().animate(
      { 
       borderWidth : "2px", 
       borderColor : "#B27332" 
      }, 500); 
     }, 
     function() { 
      $(this).stop().animate(
      { 
       borderWidth : "1px", 
       borderColor : "gray" 
      }, 500); 
     }); 
+0

您能否提供html和css for this。 –

+2

看到動畫發生順利,如果你** [在這裏看到一個演示](https://jsfiddle.net/Guruprasad_Rao/87mzwh0w/)**在那裏我也動畫了'寬度'。問題將是你選擇動畫的屬性和你賦予它們的值。因爲它們很短暫,你實際上看不到它們正常工作。** [請參閱此演示](https://jsfiddle.net/Guruprasad_Rao/87mzwh0w/1 /)**其中'borderWidth'的值正在增加。 –

回答

1

您的代碼有效!不幸的是,以平滑的方式將邊界從1px改變爲2px是不可感知的。

您也可以嘗試使用CSS轉換獲得相同的結果。

.btn-form { 
border: 1px solid gray; 
transition: border 500ms; 
} 

.btn-form:hover { 
border: 2px solid #B27332; 
}