javascript仅在第一次单击时返回null

时间:2012-10-04 07:04:03

标签: javascript jquery

我正在制作一个模式,以更大的形式向客户显示客户端的图像。并向左滑动,然后在点击时从左侧滑动新图像。当我点击页面上的缩略图时,它完全显示在模态中。但是当我点击第一个模态显示图像时,它返回null,左边的设置关闭。但是当我点击新图像时,一切都很好,从那里开始完美地工作。为什么它会返回null,如何阻止它。

CODE

  $( '#modal img').live('click',function(e){
    var index = $(this).attr('img_index');
    var img_og = $( '#viewer ul li img[img_index="' + index + '"] ');
    var imgOgWidth= img_og.width();
    index++;
    if(index > $( '#viewer ul li img').length ) {index = 0;}
    var left = ($( window ).width() - imgOgWidth  )/ 2;
    var src = img_og.attr('src');
    console.log($( window ).width() + " - " + img_og.width() + " = " + left);
    $(this).animate({"left":'-2000px'},300,function(){
        $(this).attr({'src':src,'img_index':index}).css({'width':imgOgWidth,"left":'2000px'}).animate({'left':left},300);
    });
});

CONSOLE.LOG

1288 - null = 644
1288 - 470 = 409
1288 - 900 = 194
1288 - 900 = 194
1288 - 900 = 194

HTML

<div id="modal" class="none">
<img src="" img_index="" />
</div>

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,我试图在递增索引之前访问“新”图片。谢谢你的帮助。