0

まとめ:

すべての<divclass="wrapSection">の後に「トップに戻る」リンクを挿入する必要があります。私は以下を使用して成功しました:

<script>
$('.wrapSection').after('
    <div class="backToTop clearfix">
       <a href="#top" class="up">Back To Top </a>
    </div>
 ');
</script>

ただし、[トップに戻る]をクリックするときはスムーズなスクロールを使用したいと思います。それを念頭に置いて、私は次のことを試みました:

<script>
$('.wrapSection').after('
<div class="backToTop clearfix">
    <a href="javascript:void(0)" onclick="goToByScroll('top')" class="up">
      Back To Top
    </a>
</div>
');
</script>

それは機能しません。jQueryの新人である私は、論理的と思われることを行いましたが、これは決して正しい答えではないようです。

一言で言えば

多かれ少なかれ、すべての<div class = "wrapSection">の後に、これを動的に表示する必要があります。

<div class="backToTop">
    <a class="top" href="javascript:void(0)" onclick="goToByScroll('top')">
        Back to Top
    </a>
</div>
4

1 に答える 1

0

これは私が思いついた解決策です:

​$(document).ready(function() {
    // Markup to add each time - just give the element a class to attach an event to
    var top_html = '<div class="backToTop"><a href="#" class="top">Back To Top</a></div>';
    $(".wrapSection").after(top_html);

    // Use event delegation (see http://api.jquery.com/on/)
    $("body").on("click", ".top", function(e) {
        e.preventDefault();
        $("html,body").animate({ scrollTop: 0 }, "slow");
    });
});​

ここでjsFiddleを試すことができます:http://jsfiddle.net/F9pDw/

于 2012-12-23T21:57:55.430 に答える