我的代码现在是在文件的结尾和它的作品。 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