我有一个带有联系面板的网站,可以在点击事件上滑动打开。这是一个 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 函数,但还没有运气。