解決済

clip!clip!
Ads By Google

ライブドアブログでオンクリック文字が表示されないのですが…

自分のブログ( )でオンクリック文字を使ってメニューとか作ろうと思っていたのですが、サイドバーに「フリーエリア」で以下のように設定をしたのですが文字が表示されません。HTML自体は間違っていないと思うのですが…わかる方いらっしゃいますか?

<span onClick="document.all.item('moji1').style.visibility='visible'">
クリックする文字
</span>
<div ID="moji1" style="visibility:hidden;">
表示される文字
</div>

2009-10-05 02:23の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。

回答(2)

1.

2009-10-05 03:56:56ベスト
IEなら質問文のものでも動くと思います。
他のブラウザに対応するなら、
<span onclick="document.getElementById('moji1').style.visibility='visible'">
ただし、これだと一度表示したら消すことができないので、
消す方も必要なら、
<span onclick="var el=document.getElementById('moji1');el.style.visibility=el.style.visibility=='visible'?'hidden':'visible';">
ちょっと長くなるのでスクリプトは切り分けたほうがいいかもしれないです。
<span id="moji0">
クリックする文字
</span>
<div id="moji1" style="visibility:hidden;">
表示される文字
</div>
<script type="text/javascript">
document.getElementById('moji0').onclick = function() {
  var el = document.getElementById('moji1');
  el.style.visibility = el.style.visibility == 'visible' ? 'hidden' : 'visible';
};
</script>

ありがとうございました。見事に解決です!!

2.

2009-10-05 04:35:54
document.all は、IEの独自プロパティなので、
IE互換のブラウザでないと使えないです。
なので、IEのみでの閲覧が期待できる場合以外は、
回答1のようにして下さい。

ちなみに、
質問のHTMLは、
<span onClick="document.all('moji1').style.visibility='visible'">
のように、修正すればOKだと思います。
ちなみに、id で指定した名前は、大域的な変数として(IEでは)そのまま使えるので、
<span onClick="moji1.style.visibility='visible'">
でもOKです。
回答レベル : アドバイス
Ads By Google

コメント

まだコメントがありません

トラックバック(2)

トラックバックURL: