我使用以下Javascript来使文本链接连续发光/跳动。该链接显示了同一页面的另一部分,因此一旦用户单击它,我希望它停止。

    <script type="text/javascript">
    $(document).ready(function() {
        function pulsate() {
          $(".pulsate").animate({opacity: 0.2}, 1200, 'linear')
                       .animate({opacity: 1}, 1200, 'linear', pulsate);
        }

        pulsate();
     });
    </script>

因此,基本上,我只需要知道我需要在此处添加的内容,以便单击效果即可停止。

如果再次单击相同的链接,页面的显示部分将被隐藏-再次单击后使效果再次开始是否太麻烦了?

我期待您的好人回答。

斯科特

最佳答案

只需绑定(bind)到click事件并调用stop()即可。您还应该确保不透明度已恢复为 1 :

$(document).ready(function() {
    function pulsate() {
        $(".pulsate").animate({ opacity: 0.2 }, 1200, 'linear')
                     .animate({ opacity: 1 }, 1200, 'linear', pulsate)
                     .click(function() {
                         //Restore opacity to 1
                         $(this).animate({ opacity: 1 }, 1200, 'linear');
                         //Stop all animations
                         $(this).stop();
                     });
        }

    pulsate();
});

这是a working jsFiddle

08-28 23:41