2012-06-25 2 views
2

Это уже несколько часов озадачило меня. Почему возникает ошибка «Недопустимый аргумент» при тестировании в IE8?Недопустимый аргумент в IE8

function resizeContainer() { 
    wHeight = window.innerHeight; 
    $('.container').each(function() { 
     $(this).animate({ 
      height: wHeight 
     }, 400); 
    }); 
    $('.content').each(function() { 
     wHeight = window.innerHeight; 
     fullPad = wHeight - $(this).height(); 
     if (wHeight < 750) { 
      cropFactor = 1.7; 
     } 
     else { 
      cropFactor = 2; 
     } 
     $(this).animate({ 
      paddingTop: fullPad/cropFactor 
     }); 
    }); 
} 

Точные им ошибки получают:

Недопустимого аргумента. jquery.js, линия 8826 символов 5

+0

Какая версия jQuery вы используете? Это строка 'jQuery._data (self.elem," fxshow "+ self.prop, self.start);'? – Esailija

+0

Я использую jQuery 1.7 отсюда: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js –

+0

Итак, это строка 'fx.elem.style [fx.prop] = fx.now + fx.unit; 'где' element.style ["paddingTop"] 'получает недопустимый аргумент. – Esailija

ответ

5

window.innerHeight не определен до IE, поэтому wHeight является undefined и fullPad становится NaN. Вместо этого попробуйте $(window).height().

Установка недопустимых значений стиля в IE является одной из причин ошибки «Недопустимый аргумент».

+0

, который объясняет 'NaN', который объясняет' document.createElement («div»). Style.paddingTop = NaN «Недопустимый аргумент.» '+1. – Esailija

+0

Ahh имеет смысл! –

+0

Итак, любые идеи о том, что использовать вместо этого? –

Смежные вопросы