2011-06-01 2 views
0

Я столкнулся с странным поведением IE9, связанным с прототипом сценария. Здесь я устанавливаю два различных стиль непрозрачности в зависимости от наведения курсора/выхода:IE9 prototype mouseover и mouseout несоответствие

window.onload = function(){ 
var freccia1 = $($$('.next_button')[0]); 
freccia1.setStyle({opacity: '0.20'});  
freccia1.setStyle({filter: 'alpha(opacity=20)'}); 
var freccia2 = $($$('.previous_button')[0]); 
freccia2.setStyle({opacity: '0.20'});  
freccia2.setStyle({filter: 'alpha(opacity=20)'}); 
} 

Это работает отлично во всех браузерах, включая предыдущие версии IE, гайки не в IE9, который не низко opacity..its консоль возвращает меня:

Не возможно получить свойство значение «SetStyle»: объект пустым или неопределенным

кто-нибудь знает почему? спасибо

ответ

0

Если вы собираетесь использовать Prototype, вы можете использовать столько функций, сколько предлагает, поскольку учитывает совместимость с браузером, поэтому вам не нужно.

Попробуйте это (непроверенные):

document.observe('dom:loaded', function() { 
    [$$('.next_button')[0], $$('.previous_button')[0]].each(function(ele) { 
     $(ele).setStyle({ 
      opacity: '0.20', 
      filter: 'alpha(opacity=20)' 
     }); 
    }); 
}); 
+0

Спасибо за помощь, но ваш код возвращает меня: "$ (Эле) .setStyle неопределен" ... – serytankian

+0

@asnothingelse вы уверены, что '$$ ('.next_button') [0] 'и' $$ ('. previous_button') [0] 'существуют? –

0

Вы не упомянули, какую версию прототипа вы работаете. Я столкнулся с аналогичной проблемой, которая может быть похожа на одну из моих страниц с использованием прототипа 1.5.0 (пожалуйста, не судите). В 1.5.0 функции setStyle и getStyle выполняют проверку браузера для IE, особенно при работе с opacity/alpha (непрозрачность).

/MSIE/.test(navigator.userAgent) 

В моем случае setStyle вызывает getStyle ('filter'). Replace(). К сожалению, getStyle ('filter') возвращает null с IE9, поэтому .replace генерирует исключение.

Некоторые соответствующие заметки из команды IE: http://blogs.msdn.com/b/ie/archive/2010/08/17/ie9-opacity-and-alpha.aspx

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