2012-03-01 89 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