一个类方法中的Jquery隐藏函数失败了IE

时间:2013-02-05 11:58:01

标签: jquery user-interface internet-explorer-8 hide show

我编写了一个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也应该做其他事情。

有没有人遇到过这个问题?

2 个答案:

答案 0 :(得分:0)

尝试使用:$(document).ready(function() {});

答案 1 :(得分:0)

我发现了问题!

好吧,当你在一个元素上调用hide()时,它会改变它的不透明度,或者更重要的是IE8使用的alpha不透明度。因此元素将是不可见的。

解决方案:(在hide()函数结束后更改不透明度)

$('#segitseg').hide('drop', { direction: 'right' }, 600, function(){
    $('#segitseg').css('filter', 'alpha(opacity=100)');
});