2013-08-30 59 views
2

我想使用的,而不是使用使用數組jQuery中

if(imageExtension == 'jpg' || imageExtension == 'png' || imageExtension == 'gif'). C 

是否有人可以給我一個線索陣列:d

setupChangeImage : function() { 
     $('.carousel li a').each(function(){ 
      $(this).click(function(e){ 
       e.preventDefault(); 
       var src = $(this).attr('href'); 
       var dataSource = $(this).data('src'); 
       var imageExtension = dataSource.substr(dataSource.length-3, 3);    
       if (src != $('.gallery img.gallery-main-image,.main-image .main-image-first').attr('src').replace(/\?(.*)/,'')){ 
        $('.gallery img.gallery-main-image,.main-image .main-image-first,.main-image-last').stop().animate({ 
         opacity: '0' 
        }, function(){ 
         $('.loading').show(); 
         $(this).attr('src', src); 
         $('.main-image-second').remove(); 
         if(imageExtension == 'jpg' || imageExtension == 'png' || imageExtension == 'gif'){ 
          var imageLast = '<div class="main-image-second"><img class="main-image-last" src="'+ dataSource +'" alt="" /></div>'; 
          $('.main-image').append(imageLast); 
         } 
         else { 
          var iframe = '<div class="main-image-second"><iframe class="main-image-last" width="657" height="432" src="'+ dataSource +'" style="border:none;margin-top:14px;" scrolling="no" marginwidth="0"></iframe></div>'; 
          $('.main-image').append(iframe); 
         } 
        }).load(function(){ 
         $('.loading').hide(); 
         $(this).stop().animate({ 
          opacity: '1' 
                         });      
       }); 
       }   
      }); 
     }); 
     } 
+0

'/ ^(jpg | png | gif |)$ /。test(imageextension)'如果您對正則表達式感興趣。 –

+0

jquery has inArray - http://api.jquery.com/jQuery.inArray/ – andrewb

+0

這很值**,花一個小時閱讀jQuery API。這就是它所需要的時間,並且它會大量支付*。 –

回答

0

這將工作沒有jQuery。

if (['jpg', 'png', 'gif'].indexOf(imageExtension) > -1) ... 

運行在某個地方,在頁面上,使其在IE8工作:

if (!Array.prototype.indexOf) { 
    Array.prototype.indexOf = function indexOf(search) { 
     for (var i = 0; i < this.length; i++) { 
      if (this[i] === search) return i; 
     } 
     return -1; 
    }; 
} 

你還不如使用jQuery我猜。

+1

請注意,IE8是一款非常流行的瀏覽器(全球約有23%的瀏覽器用戶使用它),不支持'Array#indexOf'。由於OP使用jQuery,所以jQuery的'inArray'(正如SAM所建議的,簡而言之,我自己)是更好的選擇。 –

+0

感謝你們幫助我。 –