jquery更改onclick

jquery更改onclick,jquery,onclick,Jquery,Onclick,你好,我正在尝试创建一个在线photalbum。因此,我们的想法是用一个onclick事件来加载相册中的下一张和上一张图片以及两个元素。 我为此创建了一个函数,但它只工作一次。如果按“上一步”或“下一步”按钮,将执行onclick,但onclick属性不会更改,并且一个简单的警报框会告诉我代码不会第二次执行 对不起,我的代码中的荷兰语应该是照片 我的HTML看起来像这样 <div id="fotolarge"> <span class="arrow arrowright"

你好,我正在尝试创建一个在线photalbum。因此,我们的想法是用一个onclick事件来加载相册中的下一张和上一张图片以及两个元素。 我为此创建了一个函数,但它只工作一次。如果按“上一步”或“下一步”按钮,将执行onclick,但onclick属性不会更改,并且一个简单的警报框会告诉我代码不会第二次执行

对不起,我的代码中的荷兰语应该是照片

我的HTML看起来像这样

<div id="fotolarge">
   <span class="arrow arrowright"></span>
   <span class="arrow arrowleft"></span>

   <span id="fotoloading"></span>
   <img id="foto"/>
</div>

然后它部分起作用。它在执行loadPhoto()的无限循环中创建

您最好使用单击事件来告诉您要去的方向(1或-1),并跟踪当前位置,而不是每次都重新写入单击事件

值得一提的是,已经有优秀的插件为您完成这项工作。对于幻灯片:对于旋转木马:你确定$currentIndex设置为某个值吗?你能给我$photoArray、$photoArrayLength和ImageLoader的完整代码吗?这样我就可以制作一个完全有效的示例了?这是个好主意,我会尝试一下。但是你知道为什么现在的代码不起作用吗?
function loadPhoto(src){
   $("#fotoloading").css("z-index","3");
   $currentIndex = jQuery.inArray(src, $photoArray);

//next image
   $nextIndex = $currentIndex + 1;
   if($nextIndex < $photoArrayLength){
    $(".arrowright").attr("onclick", "loadPhoto('" + $photoArray[$nextIndex] + "')");
   }
   else{
    $(".arrowright").attr("onclick", "loadPhoto('" + $photoArray[0] + "')");
   }

//previous image
$previousIndex = $currentIndex - 1;
if($previousIndex >= 0){
    $(".arrowleft").attr("onclick", "loadPhoto('" + $photoArray[$previousIndex] + "')");
}
else{
    $(".arrowleft").attr("onclick", "loadPhoto('" + $photoArray[$photoArrayLength -1] + "')");
}

var loader = new ImageLoader(src);
loader.loadEvent = function(url, image){
    $("#fotoloading").css("z-index","2");
    $("#foto").replaceWith(image);
    $("#foto").css("display", "block");
    calcmiddle();
}
loader.load();
}
$(".arrowright").click(function(){
  loadPhoto($photoArray[0]);
});