1

だから私はそのようなリンクをたどる前にセクションをフェードアウトさせようとしています

<a class="fadelink" href="path/to/file">Hello</a>

<script type="text/javascript">
        $("a.fadelink").click(function(e){
            e.preventDefault();         
            $("#content").fadeTo(400,0,function(){
                window.location.href = $(this).attr("href");

            });
        });
    </script>

問題は、jQueryが「未定義」で私を返し続け、404がリダイレクトすることです。

4

2 に答える 2

9

あなたの$(this)インはどちらが間違っているか$(this).attr("href")を指しています。正しいスコープに移動します。$("#content")

$("a.fadelink").on("click", function( evt ) {

   evt.preventDefault();   

   var goTo = $(this).attr("href");           // get href value of `this` anchor

   $("#content").fadeTo(400, 0, function() {
       window.location = goTo;                // Now you can use it
   });

});
于 2013-03-18T04:21:04.453 に答える
2

あなたは間違ったを参照していthisます。href属性は要素ではなくアンカーに存在します#content

$("a.fadelink").click(function(e){
    e.preventDefault();
    var that = this;
    $("#content").fadeTo(400,0,function(){
        window.location.href = $(that).attr("href");

    });
});
于 2013-03-18T04:21:20.827 に答える