在jquery中使用Array

时间:2013-08-30 05:25:53

标签: jquery arrays

我想使用数组而不是使用

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

2 个答案:

答案 0 :(得分:3)

var arr = ["jpg", "png","gif" ];
if(jQuery.inArray(imageExtension, arr) !== -1){
//found 
}else{
//not found 
}

参考http://api.jquery.com/jQuery.inArray/

答案 1 :(得分: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。