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