为什么代码有错误?
var images = ['/test/img/Gallery/large/4cba0c8a-4acc-4f4a-9d71-0a444afdf48d.jpg','/test/img/Gallery/large/4cba0ca8-2158-41af-829a-0a444afdf48d.jpg','/test/img/Gallery/large/4cbc549a-5228-433f-b0bc-0a444afdf48d.jpg'];
$('.triggerNext').click(function(){
nextImage();
return false;
});
function nextImage(){
currentImage = $('.Pagepage:eq(0)').val();
nextImage = parseInt(currentImage)+1;
$('#imageCurrent').attr('src',images[nextImage]);
$('#imageCurrent') .css('position','absolute').css('left',($(window).width()- $('#imageCurrent').width() )/2);
$('.Pagepage').val(nextImage);
}
第一次正确运行但点击后出错。
然而,下面的代码运行正常,没有任何错误:
var images = ['/test/img/Gallery/large/4cba0c8a-4acc-4f4a-9d71-0a444afdf48d.jpg','/test/img/Gallery/large/4cba0ca8-2158-41af-829a-0a444afdf48d.jpg','/test/img/Gallery/large/4cbc549a-5228-433f-b0bc-0a444afdf48d.jpg'];
$('.triggerNext').click(function(){
currentImage = $('.Pagepage:eq(0)').val();
nextImage = parseInt(currentImage)+1;
$('#imageCurrent').attr('src',images[nextImage]);
$('#imageCurrent') .css('position','absolute').css('left',($(window).width()- $('#imageCurrent').width() )/2);
$('.Pagepage').val(nextImage);
return false;
});
答案 0 :(得分:6)
好像你在这里覆盖了function
:
nextImage = parseInt(currentImage)+1;
更改function
或variable
的名称。更好的是,不要使用global namespace
。无论如何,你不能覆盖函数中的name
,你正在覆盖函数本身。
在上述行之后,nextImage
包含一个显然无法执行的Number
。
直接来自评论
只需替换nextImage = parseInt(currentImage)+1; with var nextImage => parseInt函数(currentImage)+1; - Alin Purcaru
使用var
语句,也可以避免nextImage
进入全局命名空间。
答案 1 :(得分:0)
使用:
var nextImage = parseInt(currentImage)+1;
所以你不要覆盖你的功能名称