更改H3颜色onClick然后Fade Back

时间:2012-06-19 23:57:59

标签: jquery css jquery-animate

我的页面顶部有一个按钮,当我点击它时会滚动到DIV,但我也希望它将h3闪光灯变为一种颜色,然后当它滚动到它时再回到原始状态Facebook会做通知。

到目前为止的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>

但到目前为止,一切都没有改变。有人可以帮忙吗?

2 个答案:

答案 0 :(得分: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'))
});

答案 1 :(得分: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" });
   })