0

マウスがリンクの上に置かれると、より多くのリンクといくつかの情報がドロップダウンするphpページを書いています。問題は、これを行う方法がわかりません。

私はいくつかのJavaScriptを入れました。ドロップダウンしたいdivのIDを取得できます。ただし、可視性の設定は、そのブロックが表示または非表示になるだけなので機能しません。ブロックを追加および削除する必要がありますか? 解決策がページをリロードする必要がなく、css がせいぜい最後の手段であることが望ましいです。

<script type="text/javascript">
function showElement(id){
    document.getElementById(id).style.visibility = "visible";
}
function hideElement(id){
document.getElementById(id).style.visibility = "hidden";
}
</script>

私が jquery を使用することを提案した人のために、あなたが私に与えたものといくつかのグーグルに基づいて、これが私の試みです:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready( function() {
        $('a#').each( function(){
            var $id = $(this).attr('id');
            $('a#'+$id).hover(function(){
                $('div#'+$id).toggle();
            });
        });
    });
    </script>

うまくいきません。確かに、昨日まで jquery を見たことがなかったので、それは驚くべきことではありません。それでも、何が問題なのかわかりません(おそらくかなりの数のことです)。それがやろうとしているのは、すべてのリンクを反復処理することです。次に、ホバーすると、同じ名前の div が表示されます。またはそれが理論です。

4

2 に答える 2

2

dom要素を操作するためにjqueryのようなjavascriptライブラリを使用することを検討してください。以下は、hover関数の非常に基本的な例です。

http://jsfiddle.net/LC7Fy/1/

他の使用例については、jqueryのドキュメントを確認してください。

于 2012-05-11T05:13:30.540 に答える
1

JavaScript コードにスペルミスがあります。あなたは使用getElemtneByIdしましたが、それはする必要がありますgetElementById

また、 css プロパティstyle.visibility = "visible";である必要がある div または span を表示するために使用します。visiblity:hiddenそうすれば、これだけが機能します。ある場合はdisplay:none、以下のように JavaScript を使用できます。

<script type="text/javascript">
 function showElement(id){
    document.getElementById(id).style.display = "block";
 }
 function hideElement(id){
    document.getElementById(id).style.display = "none";
 }
 </script>

お役に立てば幸いです、ありがとう

于 2012-05-11T05:40:43.780 に答える