2012-06-21 3 views
1

바로 지금 문제는 이미지를 처음 클릭하면 내가 원하는 방식으로 애니메이션이 실행된다는 것입니다. 그러나 두 번째로 같은 이미지를 클릭하면 애니메이션 전환없이 0 초 이내에 이미지의 크기가 간단히 확대됩니다.동일한 이미지를 두 번 클릭해도 JQuery 애니메이션이 발생하지 않습니다.

var tempHolders = new Array(); 
$(document).ready(function(){ 
    $('ul li img').each(     
     function(){ $(this).click(function($e){       
      $('#picturesboard').hide();       
      $('#enlarge').show();          
      if(tempHolders[$(this).attr('src')]==null){ 
        tempHolders[$(this).attr('src')] = $(this).clone(); 
      }              
      (tempHolders[$(this).attr('src')]).animate({ 
        width: '1000px' 
       },1000);       
      $('#imgholder').prepend(tempHolders[$(this).attr('src')]); 
      backbutton.innerHTML='GO BACK'; 
      backbutton.onclick=function(){        
         $('#picturesboard').show(); 
         $('#enlarge').hide(); 
        // return false; 
      }; 
     $('#menu').prepend(backbutton);           
     }); 
    }); 
}); 
+0

질문과 관련이 없으므로'$ ('element')를 사용하면 코드를 더 짧게 만들 수 있습니다. (function() {...}); 'each (모두) – casraf

답변

0

잘못된 것이 아니라면 뒤로 버튼 기능에서 속성 너비를 0으로 다시 설정해야합니다. .attr()

+0

안에'$ (this) .click (...) '을 사용하여 감사합니다. 당신은 절대적으로 옳습니다. –

관련 문제