2016-07-28 14 views
3

"href"リンクをクリックすると、このjQueryを使ってページをスムーズにフェードアウトさせています。jQueryは特定の要素に対して機能しません。

私には電子商取引がありますので、追加した商品が表示されるカートがあります。 (オンラインストア:www.backlabel.com

商品の上部にある「X」を使ってカートから直接削除することができます。この "X"は "href"プロパティを持っているので、ページ全体が再ロードされるためjQueryとその悪いページが読み込まれます。

jQueryは「X」ボタンでは機能しません。このjQueryの次のコードで余分なコードを使ってもいいですか?

// delegate all clicks on "a" tag (links) 
$(document).on("click", "a", function (event) { 
    // get the href attribute 
    var newUrl = $(this).attr("href"); 

    // veryfy if the new url exists or is a hash 
    if (!newUrl || newUrl[0] === "#") { 
     // set that hash 
     location.hash = newUrl; 
     return; 
    } 

    // now, fadeout the html (whole page) 
    $("html").fadeOut(function() { 
     // when the animation is complete, set the new location 
     location = newUrl; 
    }); 

    // prevent the default browser behavior. 
    return false; 
}); 
+0

(のようなa:not('#yourID')を使用して、このような選択からhrefを除外することができます) – atul

答えて

5

あなたはそのデフォルトのブラウザの動作利用event.preventDefaultを防止するため

$(document).on("click", "a:not('#x')", function (event) { 
 
    alert('clicked'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="#" >Link1</a> 
 
<a href="#" >Link2</a> 
 
<a href="#" id="x">Link3</a>

1
$("html").fadeOut(function() { 
     // when the animation is complete, set the new location 
     window.location = newUrl; 
    }); 
関連する問題