0

メニュー表示にJquery Jmenuを使用しています。IE8でページ読み込み中にリストビューで表示します。ロード後、数秒後に通常の水平ビューとして表示されます。一方、Chrome ブラウザでは問題なく動作します。これについて助けてください。使用しているcssです。メニューのロード中に HTML 形式でデータを表示します。読み込み時にメニューにjquery cssファイルを適用しない

.jMenu {
    display: table;
    margin: 0;
    padding: 0
}

/* First level */
.jMenu li {
    display: inline;
    background-color: rgb(000,063,096);
    margin: 0;
}

.jMenu li a {
    padding: 10px;
    display: inline;
    background-color: transparent;
    color: white;
    text-transform: capitalize;
    cursor: pointer;
    font-size: 12px;
}

/* Lower levels */
.jMenu li ul {
    display: none;
    position: absolute;
    z-index:9999;
    padding: 0;
    margin: 0;
}

.jMenu li ul li {
    background-color: rgb(000, 063, 096);
    display: block;
    border-bottom: 1px solid #484548;
    padding: 0;
}

.jMenu li ul li.arrow {
    background-color: rgb(000, 063, 096);
    background-image: url('../images/arrow_down.png');
    background-repeat: no-repeat;
    background-position: center center;
    height: 6px;
    padding: 0;
    border-bottom: none;
    padding-bottom: 10px
}

.jMenu li ul li a {
    font-size: 11px;
    text-transform: none;
    padding: 5px;
    display: block;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
}

.jMenu li ul li a.isParent {
    background-color: #f2f2f2 ;
    background-image: url('../images/arrow_right.png');
    background-repeat: no-repeat;
    background-position: right center;
    color: #000000;

}

.jMenu li ul li a:hover {
    background-color: #c4e0f6;
    border-top: 1px solid #c4e0f6;
    border-bottom: 1px solid #c4e0f6;
    color: #000000;
}

その HTML 形式のタグを Literal でバインドする

   <table border="0" cellspacing="0" width="100%">
    <tr>
        <td style="width: 100%" class="topMenuBar">
            <asp:Literal ID="Literal1" runat="server"></asp:Literal>
        </td>
    </tr>
</table>

Jquery 関数

 <link rel="stylesheet" type="text/css" href='<%# ResolveUrl("~/jMenu-master/css/jMenu.jquery.css") %>'/>
    <script type="text/javascript" src='<%# ResolveUrl("~/jMenu-master/js/jquery.min.js") %>'></script>
    <script type="text/javascript" src='<%# ResolveUrl("~/jMenu-master/js/jquery-ui.js") %>'></script>
    <script type="text/javascript" src='<%# ResolveUrl("~/jMenu-master/js/jMenu.jquery.js") %>'></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#jMenu").jMenu({
                ulWidth: '150',
                effects: {
                    effectSpeedOpen: 300,
                    effectTypeClose: 'slide'
                },
                animatedText: false
            });
        });


    </script>


![this is how html format coming while loading menus]
4

1 に答える 1

0

これを試してください - 私たちの場合、ul でメニューを表示していますが、最初はコントロールのスタイル プロパティによって非表示にしています。ページのレンダリングが完了し、jquery メソッドのバインドが完了したら、css または任意の方法で表示します。

<ul class="menu-hvr" id="jMenu" style="display:none">
            @if (!showUserMenu)
            {
                <li class="buttonFirstAll homebtn1">
                    <a href="/sign-up">sign up</a>
                </li>
                <li class="homebtn2">
                    <a href="/sign-in/?popup=true">sign in</a>
                </li>
            }........
    </ul>
于 2014-09-20T11:42:01.493 に答える