我已经编写了一个javascript模块(div对象),如果您使用Jquery UI显示和隐藏函数在输入元素内部单击,该模块将从右侧滑入文档。这在除IE8之外的大多数浏览器中都能正常工作。
问题是,当模块隐藏起来时,IE8就不会再打开它了。
经过大量的工作,我终于发现了一些奇怪之处。当我运行以下代码作为按钮元素的onclick函数来隐藏模块时,我可以再次打开它。
$('#segitseg').hide('drop', { direction: 'right' }, 600);
但如果我从一个名为Segitseg的对象调用同一行(在英语中它的意思是帮助),如下所示:
var Segitseg = new function () {
...
this.bezar = function() {
$('#segitseg').hide('drop', { direction: 'right' }, 600);
}
...
}
那么我就无法再次打开模块。
但我应该使用第二种变体,因为bezar方法也应该制作其他东西。
有人遇到这个问题吗?
尝试使用:$(document).ready(function() {});
我发现了问题
好吧,当你对一个元素调用hide()时,它会改变它的不透明度,或者更重要的是它的alpha不透明度,这是IE8使用的。所以元素将是不可见的。
解决方案:(在hide()函数结束后更改回不透明度)
$('#segitseg').hide('drop', { direction: 'right' }, 600, function(){
$('#segitseg').css('filter', 'alpha(opacity=100)');
});