2012-06-19 75 views
3

當我點擊它時,我的頁面頂部有一個滾動到DIV的按鈕,但我也希望它使h3閃爍爲一種顏色,然後返回到原始的時候它像Facebook一樣滾動到它的通知。更改H3顏色onClick然後淡入淡出

的JQuery至今:

 function goToByScroll(id) { 
     $('html,body').animate({ scrollTop: $("#" + id).offset().top }, 'slow'); 
     $("#" + id).css({ "color": "yellow" }).delay(1000).css({ "color": "#222" }); 
    } 

HTML至今:

<a href="javascript:void(0)" onclick="goToByScroll('createdest')">Add Destination</a> 

<h3 id="createdest">Add a Country</h3> 

但到目前爲止,沒有發生變化。任何人都可以幫忙嗎?

+0

糟糕。我把錯誤的H3放在這裏。 :) – dpDesignz

回答

3

使用animate()函數的回調函數在動畫完成後立即運行代碼。

另外,我加入data屬性來存儲元件的初始顏色:

var $target = $("#" + id); 
$target.data('oldColor', $target.css("color")); 
$target.css("color", "yellow"); 

$('html,body').animate({ scrollTop: $("#" + id).offset().top }, 'slow', function() { 
    $target.delay(1000).css('color', $target.data('oldColor')) 
}); 
+0

是這一切嗎?它根本沒有運行? – dpDesignz

+0

啊。你最後還錯過了一個'}'。謝謝你的工作 – dpDesignz

2

嘗試queue()方法:

function goToByScroll(id) { 
      $('html,body').animate({ scrollTop: $("#" + id).offset().top }, 'slow'); 
      $("#" + id).css({ "color": "yellow" }).delay(1000).queue(function() { 
       $(this).css({ "color": "#222" }); 
    }) 
+0

謝謝。這樣可行。但是你錯過了一個'}':) 我唯一的問題是它在它到達那裏之前就會發生變化,所以如果可能的話,我可以在它出現之後進行修改嗎?另外,如果我再次點擊,顏色不會再改變。它只是保持黃色 – dpDesignz