滚动后尝试刷新h3-tag

时间:2015-02-24 21:49:25

标签: javascript jquery

我的网站上有一个脚本,当使用以下代码很好地点击链接时,它会向下滚动到页面的给定区域:

$(function() {
  $('a[href*=#]:not([href=#])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
      var target = $(this.hash);
      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
      if (target.length) {
        $('html,body').animate({
          scrollTop: target.offset().top
        }, 800);
        return false;
      }
    }
  });
});

这与此HTML的使用相结合

<a href="#thinig">Go to the thing!</a>
<a href="#thinig2">Go to the  other thing!</a>

<div id="thing">
    <h3>A new title</h3>
    <p>Thing is here<p>
</div>

<div id="thing2">
    <h3>The other stuff title</h3>
    <p>Thing two is here<p>
</div>

向下滚动到&#34;&#34;&#34;很好地,并按预期工作。但是,我希望-tag在用户到达内容时以不同于文本的默认颜色的颜色闪烁一次,然后单击并向下滚动。怎么办呢?

提前致谢。

3 个答案:

答案 0 :(得分:0)

我建议使用&#39;完成&#39;来自animate的回调:

http://api.jquery.com/animate/

 $('html,body').animate({
                    scrollTop: target.offset().top
                }, 800,function(){
                     //highlight here   
                });

答案 1 :(得分:0)

您可以使用jquery highlight example的“突出显示”效果,或者使用脉动效果pulsate here

代码看起来像这样:

HTML

<a href="#thinig">Go to the thing!</a>

<div id="thing">
    <h3>A new title</h3>
    <p>Thing is here<p>
</div>

JS

$(function() {
  $('a[href*=#]:not([href=#])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
      var target = $(this.hash);
      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
      if (target.length) {
        $('html,body').animate({
          scrollTop: target.offset().top
        }, 800, function(){
            $('#thing').effect( "highlight", 
                  {color:"#669966"}, 3000 );
        });
        return false;
      }
    }
  });
});

答案 2 :(得分:0)

您可以在使用js添加类时使用css3过渡和关键帧,然后在完成动画后删除类(使用setTimeout在相同的持续时间内使用css过渡删除类)。