ここで奇妙な問題があります。別の要素にマウスオーバーしたときに表示したい非表示の要素 (非表示の表示) があります。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" を削除すると、要素が表示されるので、頭の中でこれが機能するはずです。