我正在创建一个图库滑块,它在大多数浏览器上工作正常,但不能在IE上工作
我已经在google chrome和firefox上测试了它没有发现错误,它正在工作,因为它应该是
请告诉我我的错误在哪里
`(函数($){
$.fn.AD_Slider = function(options)
{
parent = this;
parent.append('<span id="AD_slider_holder"></span>')
$('#AD_slider_holder')
.css
(
{
'position': 'absolute',
'bottom': '0px',
'left':'0px'
}
)
no_of_items = 0;
var settings = $.extend(
{
item_width: 200,
animation_time: 1000,
wait_time: 1000,
slider_width:400,
height:300
},
options
);
this.css
(
{
'position':'relative',
'width': settings.slider_width + 'px',
'height': settings.height + 'px',
'border':'1px solid',
'overflow':'hidden'
}
)
$(this).children('div').each(function(){
parent.children('#AD_slider_holder').append('<div />');
parent.children('#AD_slider_holder')
.each(
function()
{
$(this).children('div')
.css
(
{
'width':'10px',
'height':'10px',
'border':'1px solid',
'margin':'5px',
'float':'left'
}
)
}
)
$(this).css
(
{
'position': 'absolute',
'top': '0px',
'left': '0px',
'width':settings.item_width,
}
);
$(this).hide();
})
parent.children('#AD_slider_holder').each(
function(){
$(this).children('div').click(
function()
{
clearTimeout(animator_time_out);
animate_next(parent,$(this).index());
}
);
})
animate_next(this);
};
function animate_next(parent,index_no)
{
if(!index_no)
{
index_no = 0;
}
no_of_elements = parent.children('div').length;
if(no_of_elements == index_no)
{
index_no = 0;
}
parent.children('div').fadeOut();
parent.children('div:eq('+index_no+')').fadeIn(2000);
parent
.children('#AD_slider_holder')
.each
(
function()
{
$(this).children().css({'background':'none'})
}
)
parent.children('#AD_slider_holder')
.each(
function()
{
$(this).children('div:eq('+index_no+')')
.css
(
{
'background':'red'
}
)
}
)
index_no++;
animator_time_out = setTimeout(function(){animate_next(parent,index_no)},5000)
}
})(jQuery);`
我正在使用最新的jquery
答案 0 :(得分:3)
我不确切知道,但我建议删除
末尾的逗号'width':settings.item_width,
在
$(this).css
(
{
'position': 'absolute',
'top': '0px',
'left': '0px',
'width':settings.item_width,
}
);
如果对象的最后一个元素后面有逗号,则Internet Explorer不喜欢它。