[英]Click event stops working
我希望有人可以幫助我,因為我一直在嘗試解決此滾動行為的其他問題,因此我對此感到有點生氣,這是我試圖在本網站上實現的...如您所見,我的子菜單(左側)跟隨您滾動時的窗口位置,或者您可以單擊子菜單上的任何選項,這將觸發動畫,這似乎是問題在於,每次我單擊第二次均不起作用,直到我重新單擊它,它將起作用...
這是我的代碼
變數
var startDistance = 210;
var $scrollingDiv = $("#sub-menu");
var position = $("#footer").position();
var height = $("#sub-menu").height();
var pos = position.top - (height + 460);
用戶和動畫滾動之間有所不同
$("body,html").bind("scroll mousedown DOMMouseScroll mousewheel keyup", function(e){
if ( e.which > 0 || e.type === "mousedown" || e.type === "mousewheel"){
if($(window).scrollTop() > startDistance && $(window).scrollTop() < pos) {
$scrollingDiv.stop().animate({
paddingTop: ($(window).scrollTop() - 75) + "px"
}, 'slow');
}
if($(window).scrollTop() == 0) {
$scrollingDiv.stop().animate({
paddingTop: 0
}, 'slow');
}
}
});
點擊行為
$("#sub-menu ul li a").live('click', function(ev) {
var $anchor = $(this);
console.log($anchor.attr('href'));
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1500,'easeInOutExpo', function() {
$scrollingDiv.stop().animate({
paddingTop: ($($anchor.attr('href')).offset().top - 556) + "px"
}, 'slow');
});
event.preventDefault();
});
這可能是最愚蠢的事情,但是我最近一個小時一直在看屏幕,卻無法意識到正在發生的事情。
編輯:我也發布了滾動代碼行為,因為我認為這可能是一個全球性問題,不僅與我的點擊代碼有關
先感謝您!
[22:00:25.137] ReferenceError: event is not defined @ http://altivamedia.com/pruebas/romulos/wp/wp-content/themes/romulos/_/js/functions.js:45
您不小心寫了event
而不是ev
:
});
event.preventDefault();
});
由於尚未定義event
因此將引發ReferenceError
。 只需使用正確的變量:
});
ev.preventDefault();
});
為了自己找到此類錯誤,請使用瀏覽器的錯誤控制台。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.