2012-03-01 90 views
0

在所有的ie浏览器我得到以下错误:的Javascript淡入淡出

SCRIPT5007: Unable to get value of the property 'hasClassName': object is null or undefined

这涉及到以下几点:由于您使用Prototype.j小号

Crossfade.prototype = { 
loaded : false, 
initialize : function(elm, options) { 
    var me = this, next, prev; 
    this.elm = $(elm); 
    this.counter = 0; 
    this.prevSlide = null; 
    var t_opt = {}; 
    for(t in Crossfade.Transition) { 
     var trans = Crossfade.Transition[t]; 
     if(trans.className && this.elm.hasClassName(trans.className)) { 
      t_opt = {transition:trans}; 
      break; 
     } 
    } 
+3

hasClassName不是本机JavaScript结构。它通常是prototype.js库的一部分。 – 2012-03-01 17:10:16

+0

'var t' please;否则你创建一个全局变量,这对循环变量来说尤其糟糕。 – ThiefMaster 2012-03-01 18:03:44

+0

哦,好吧,我正在使用最新版本的原型,所以它应该是什么? – phpnewbie 2012-03-01 18:03:59

回答

0

var trans = Crossfade.Transition[t]; 
    if(trans.className && this.elm.hasClassName(trans.className)) { 
     t_opt = {transition:trans}; 
     break; 
    } 

trans.className不在原型范围内。这需要是:$(trans).classNames()

+0

所以这应该是:var trans = Crossfade.Transition [t]; if($(trans).classNames 休息; } – phpnewbie 2012-03-01 18:37:13