2011-10-21 10 views
1

両方のスライダを実行している同じページに2つのスクリプトがあり、最初のスライダはIE7とIE8内でのみ、ホバーイベントを中断します。私は2つのスクリプトの間で変数との競合があるかどうか疑問に思っています。Javascript変数の衝突

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

そして、ここでエラーを引き起こしている可能性のある2番目のスクリプトの一部を、次のとおりです。ここでは最初のでしょうか?

<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); 
     } 
    }); 

それが問題を引き起こして2番目のスクリプトでは、スライダの宣言だろうか?他のファイル内で呼び出される他のスクリプトがありますが、これらのいずれかが問題を引き起こしている可能性がありますか? IE7とIE8では、スライダが表示されますが、スライディング機能は機能しません。 IE7とIE8の間の基本的な違いは何ですか?そして、この動作を引き起こすブラウザの他の部分は何ですか?

+0

基本的な違いは、IEです。最初に私がしようとしていたのは、 'var'sをそれらに追加することで、関数のローカルの2番目のコードの変数をチャンクにすることです。実際には意味がない場合は、グローバルを使うことはほとんどありません。 –

+0

変数が関数内でローカルか、