クリック イベントでスライドして開くコンタクト パネルを備えたサイトがあります。これは MooTools スクリプトです。IE7 と IE8 を除くすべてのブラウザで正しくテストされました。IE8 および IE7 モードを実行している IE9 の開発者ツールキットには、次の理由によると書かれています。
SCRIPT438: Object doesn't support property or method 'hasClass'
ここで動作中の以下のコードを参照してください
$('contact-toggle').addEvent('click', function(event){
event.stop();
if(e.hasClass('active')) {
closePanel();
} else {
openPanel(-380);
}
});
これを修正する方法について何か考えはありますか?
更新: MooTools スクリプト全体を次に示します (以下のコメントに従って更新)...
window.addEvent('domready', function() {
var e = document.getElementById('info');
var contact_h = document.getElementById('contact-toggle-heading')
var contact_i = document.getElementById('contact-toggle-icon');
function closePanel(){
this.tween('margin-top',-50);
this.removeClass('active');
contact_i.setProperty('src', 'http://webiste.com.au/images/interface/arrow-up.png');
contact_h.set('text','Contact');
$$('.footer-header').removeClass('diminish');
}
function openPanel(panelHeight){
e.tween('margin-top',panelHeight);
e.addClass('active');
contact_i.setProperty('src', 'http://website.com.au/images/interface/arrow-down.png');
contact_h.set('text','Close');
$$('.footer-header').addClass('diminish');
}
function timerPanel(){
clearTimeout(timer);
timer = (function(){
closePanel();
}).delay(5000);
}
$('contact-toggle').addEvent('click', function(event){
event.stop();
if(this.hasClass('active')) {
closePanel();
} else {
openPanel(-380);
}
});
}); //end script
スワップが機能e
しthis
ましたが、問題は行に移動しましたe.tween('margint-top...
。イベント オブジェクトを openPanel 関数に渡そうとしましたが、まだ成功していません。