我希望能夠在用戶點擊菜單鏈接時播放jQuery動畫。如果錨標籤包含href屬性
在我的腳本中,我阻止鏈接的默認行爲,將錨標記的href屬性的值保存在變量中,播放動畫,然後將窗口重定向到與保存的href值對應的URL:
<script>
jQuery(document).ready(function($) {
$('.main-navigation a').click(function(event) {
event.preventDefault();
var href = this.href;
$('#main').slideUp(500,
function() {
window.location = href;
});
});
});
</script>
問題是,我的導航菜單中的某些定位標記沒有href屬性,因爲它們唯一的功能是打開點擊子菜單。當我點擊這些菜單項時,動畫播放,然後重新加載相同的頁面。
我想從腳本的行爲中排除沒有href的錨定標記。
我的解決方案是隻保存那些實際上具有href屬性的錨定標記的href。除此之外,我不知道該怎麼做。
所以,我的問題是:我應該如何用jQuery表達這個?
if (anchor tag has href attribute) {
var href = this.href;
}
或者有更好的解決方案嗎?
謝謝卡爾安德烈,這是一個非常優雅的解決方案。我現在嘗試了它,它可以工作,但它讓我注意到另一個我以前不知道的問題。點擊當前頁面的鏈接也會播放動畫,然後重新載入相同的頁面。你能告訴我,有沒有辦法也排除當前頁面呢? –
我的解決方案是將一個id或類添加到活動鏈接,並且click函數的第一行是'if($(this).has('#yourId or .yourClass'))return false;' –
你,卡爾 - 安德烈 - 你能否向我解釋一下我可以如何將課程添加到活動鏈接?我假設,它應該與JS完成,對吧? –