0

在我的网页中,我有多个锚标记,并且我已将它们分配为在单击时滚动到页面顶部。我如何让它们向上滚动,然后按该顺序重定向到 href 中的页面?

JSFiddle - http://jsfiddle.net/TkdMJ/

HTML

<a href="javascript:void(0)" onClick="goToByScroll('translation_list')"  href="VideoPages/Azeri/Heydər Oğuzun1-ci hissə.html">
        <li>
      <img src="../Images/Article Images/GuliyevFace14.png" class="li-image" />
        <h3 class="li-header">Heydər Oğuzun Rəsul Quliyevlə Müsahibəsi - 29 İyul 2012, 1-ci hissə</h3>

         <p class="li-text">Yayımlanıb on Aug 1, 2012 - Rəsul Quliyev</p>
        <p class="li-text">Heydər Oğuzun Rəsul Quliyevlə müsahibəsi - 29 İyul 2012, 1-ci hissə Heydar Oguz's Interview with Rasul Guliyev on July 29, 2012, Part 1
 </p>
       </li>
         </a> 

Javascript

function goToByScroll(id){
        $('html,body').animate({scrollTop: $("#"+id).offset().top},'slow');
}
4

1 回答 1

1

您在链接上有两个href属性会导致问题。我会将 jQueryclick事件附加到锚元素并在动画完成后重定向。您还需要调用preventDefault,以便默认情况下链接不会重定向。

$("#link").click(function(e) {
    $("body").animate({
        scrollTop: $("body").offset().top
    }, "slow", function() {
        alert("redirecting to " + $(e.target).attr("href"));
        window.location.href = $(e.target).attr("href");
    });

   e.preventDefault();
});

我更新了这个jsFiddle中的解决方案。

于 2012-08-12T19:31:49.767 回答