据我所知,这适用于chrome,FF和IE> 9。
但它在IE8中不起作用。控制台说“对象不接受方法或属性”(或类似的东西,它是西班牙语,我不知道英语中的确切单词)
经过一些调试后,我注意到this
没有我在里面的函数,而是window
对象。
var slider = function(sel, pagination, paginationThumbs, form_factor)
{
var that = this;
(some code)
this.init = function(sel,pagination,paginationThumbs,form_factor)
{
(more code)
}
this.init(sel,pag,paginationThumbs,form_factor); //it blows here
};
后来我称之为
slider('.sliderClass',3,true,0.75);
对可能发生的事情的任何想法?
答案 0 :(得分:4)
使用
新滑块('。sliderclass',3,true,0.75);
而不是
滑块(”。sliderClass',3,真实,0.75);
答案 1 :(得分:1)
可能发生的事情this
实际上是指IE因某些奇怪的原因而不允许访问的窗口对象
您可以执行的操作是调用滑块调用new slider(/* params */);
或代替this.init = function(){};
你可以放var init = function(){};
然后调用它就像init();
var slider = function(sel, pagination, paginationThumbs, form_factor)
{
var that = this;
(some code)
var init = function(sel,pagination,paginationThumbs,form_factor)
{
(more code)
}
init(sel,pag,paginationThumbs,form_factor); //it blows here
};