我的代碼現在是在文件的結尾和它的作品。 thx尋求幫助。
問題
我想調用點擊功能......但是當我點擊我的鏈接網站重裝上。
這裏是我的代碼:
(function(window, undefined) {
var gn = (function(){
var sitelength = $(window).width(),
$next = $('.next'),
$start = $('.start'),
init = function(){
_scrollto();
_checkmenu();
},
_scrollto = function(){
$next.on('click', function(event) {
$('html,body').animate({scrollLeft: $("body").offset().left+200},1500);
return false;
});
$start.on('click', function(event) {
$('html,body').animate({scrollLeft: $("body").offset().left+0},1500);
return false;
});
},
_checkmenu = function(){
$(window).scroll(function(e){
if($(this).scrollLeft()>100 && (!$('#side').hasClass('ac'))){
$('#side').addClass('ac');
$('#side').animate({ left : -230 }, 'slow');
$('#sitenav').animate({ left : 0 }, 'slow');
}
if($(this).scrollLeft()<100 && $('#side').hasClass('ac')){
$('#side').removeClass('ac');
$('#side').animate({ left : 20 }, 'slow');
$('#sitenav').animate({ left : -50 }, 'slow');
}
});
}
return { init : init };
})();
gn.init();
})(window);
,但是當我在排除了整個事情點擊「$(文件)。就緒(函數())」,它工作正常。
$(document).ready(function(){
var $next = $('.next'),
$start = $('.start');
$next.on('click', function(event) {
$('html,body').animate({scrollLeft: $("body").offset().left+200},1500);
return false;
});
$start.on('click', function(event) {
$('html,body').animate({scrollLeft: $("body").offset().left+0},1500);
return false;
});
});
有人能告訴我爲什麼以及如何解決它嗎?
您的點擊函數的第一個版本在DOM準備好之前綁定了單擊事件,所以元素還不存在。嘗試在DOM就緒函數內運行'gn.init()'函數。 – adeneo
我的代碼現在在DOM(文檔的末尾)下面,現在它工作:)所以DOM被加載並且元素存在。 thx – gn90at