1

ここで奇妙な問題があります。別の要素にマウスオーバーしたときに表示したい非表示の要素 (非表示の表示) があります。JavaScript が機能しているように見えますが、要素が display: hidden; から変更されても何も起こりません。表示する: ブロック;

これは私のhtml部分です:

<div id="cart_block" class="block exclusive" style="display: none;">
    a bunch more code in here, but I don't suppose I need to display that
</div>

smarty tpl ファイルにあるので、javascript にリテラルを使用しました。次のようになります。

<script type="text/javascript">
{literal}
    document.getElementById('header_user').onmouseover=function(){
        document.getElementById('cart_block').style.display='block';
    };
    document.getElementById('header_user').onmouseout=function(){
        document.getElementById('cart_block').style.display='none';
    };
{/literal}

http://www.jiblab.dkで見ることができます。id が cart_block の要素を見ると、右上隅のバスケットにマウスを合わせると、スタイル タグが変更されますが、非表示のままであることがわかります。上記の html から style="display: none" を削除すると、要素が表示されるので、頭の中でこれが機能するはずです。

4

2 に答える 2

2

#cart_block 要素は、設定された別の div にありdisplay:noneます。

次のブロックでは、定義から .top-header .sf-contener を削除するか、この要素から cart_block 要素を移動する必要があります

.top-header #currencies_block_top, .top-header #header_links, .top-header #search_block_top, .top-header .sf-contener {
    display: none;
}
于 2012-11-21T09:21:49.520 に答える