2011-10-21 5 views
1

동일한 슬라이더를 실행하는 두 개의 스크립트가 있으며 첫 번째 슬라이더는 두 번째, 특히 hover 이벤트를 중단합니다 (IE7과 IE8에서만). 두 스크립트 사이에 변수와 충돌이 있는지 궁금합니다. 여기에 첫 번째가 있습니다 :자바 스크립트 변수 충돌

<script type="text/javascript"> 
    $(function(){ 
     $('#slider') 
      .anythingSlider({ 
       theme    : "minimalist-square",  
       expand    : false,      
       resizeContents  : true,      
       buildArrows   : true,      
       buildNavigation  : true,      
       toggleArrows  : true,      
       autoPlay   : true      
      }); 
    }); 
</script> 

그리고 여기에 오류의 원인 일 수있는 두 번째 스크립트가 있습니까?

<script type='text/javascript'> 

    $(function() { 
     slider = $('.artist-homepage-slider .artist-wrapper'); 
     handle = $('.homepage-slider .handle'); 
     //productwidth = 20; 
     productwidth = 248; 
     products = $('.artist-homepage-slider .product'); 
     productscount = products.length; 
     images = products.find('img'); 
     productswidth = 0; 
     . 
        . 
        . 
        . 

     function slideleft() { 
      v = s.slider('option', 'value'); 
      if (v > 0) 
       v -= 50; 
      ui.value = v; 
      s.slider('option', 'value', v); 
      f = s.slider('option', 'slide'); 
      f(null,ui); 
     } 

     function slideright() { 
      v = s.slider('option', 'value'); 
      if (v < fullWidth) 
       v += 50; 
      ui.value = v; 
      s.slider('option', 'value', v); 
      f = s.slider('option', 'slide'); 
      f(null,ui); 
     } 
    }); 

는 문제를 일으키는 두 번째 스크립트 슬라이더의 선언 될 수 있을까? 다른 파일 내에 다른 스크립트가 있으면 문제가 될 수 있습니까? IE7과 IE8에서는 슬라이더가 나타납니다. 슬라이딩 기능이 작동하지 않습니다. IE7과 8, 그리고 나머지 브라우저에서이 동작을 일으키는 근본적인 차이점은 무엇입니까?

+0

근본적인 차이점은 IE입니다. 첫 번째로 시도 할 것은 두 번째 코드에서 변수에'var's를 추가하여 함수에 로컬로 넣는 것입니다. 실제로 의미가 없으면 전역을 사용하는 것이 좋습니다. –

+0

변수가 함수 내에서 지역 변수이거나