2

代替テキスト

URL: http://www.hkpete.com/test.html

jQuery 1.42
jQuery ツール 1.2.3 オーバーレイ

IE7にもこの問題があります(ietesterでテスト済み)

問題がどこにあるのかわかりません。

どうもありがとう。

<div id="dialog-content">
    <!--Login -->
    <div id="login" class="panel" style="display:none">
    Login..................
    </div>
    <!--Register -->
    <div id="register" class="panel" style="display:none">
    Register..................
    </div>
</div>

<!--Links-->
<a href="javascript:;" onclick="showDialog('#login','member');">Login</a>
<a href="javascript:;" onclick="showDialog('#register','member');">Register</a>

<script type="text/javascript">
var ol;
var dialog=null;
function showDialog(panel,action){
      var each=each ? each : 0;
     function overlay(){
            if(panel){
                $("#dialog div.panel").hide();
                //show panel login,register,lostpw
                $(panel).show();
            }
            if(ol !== undefined && ol.isOpened()) {

                    $("#dialog").css("top", ( $(window).height() - $("#dialog").height() ) / 2+$(window).scrollTop() + "px"); 
                    $("#dialog").css("left", ( $(window).width() - $("#dialog").width() ) / 2+$(window).scrollLeft() + "px");
            }

            //Overlay load          
            ol=$("#dialog").overlay({top:'center', left:'center', closeOnClick:false, api:true }).load();

            $("#dialog .close").click(function(){
               ol.close();
            }); 
     }


    overlay();
    //cur action
    dialog=action;

return false;
}
</script>
4

2 に答える 2

1

私はこのバグが何であるかを知っていると思います:http ://www.positioniseverything.net/explorer/ienondisappearcontentbugPIE/index.htm 。

リストされている回避策は次のとおりです。

回避策いくつかの方法で「呪文を解放する」ことができます。

  1. コンテンツの表示プロパティを一時的に「ブロック」に切り替え、「なし」に戻します。
  2. コンテンツの位置プロパティを一時的に「相対」から「絶対」に切り替えたり、その逆に切り替えたりします。
  3. コンテンツの可視性プロパティを一時的に「非表示」に切り替えてから元に戻します。(ただし、これはコンテンツが絶対的に配置されている場合にのみ機能します!IEの素晴らしい世界...)

詳細については、そこに行って見てください。

于 2010-09-11T15:46:28.693 に答える
0

ありがとう、李江。バグデモhttp://www.justarrangingbits.org/demo/2/

 //fix the bug
 if(panel){ 
           $("#dialog .panel").css({"display":"none","visibility":"hidden"});
           $(panel).css({"display":"block","visibility":"visible"});
 } 
于 2010-09-13T02:32:53.147 に答える