1

テキストまたは画像を押すと折りたたまれたり展開されたりするスクリプトを作成しようとしています。画像は基本的な矢印で、展開すると上向きの矢印に置き換えられdivます。

私の問題は、div を切り替えるとテキストが消えることです。展開されているかどうかに関係なく、見出しが残るように、コードをどのように記述すればよいdivですか? いくつかの で次のスクリプトを使用したいと思いますdiv

さらに、slideToggle() 関数は両方の方法で機能しません。これを解決するにはどうすればよいですか?

<script type="text/javascript">
        function toggle(divId, switchImgTag) {
            var ele = document.getElementById(divId);
            var imageEle = document.getElementById(switchImgTag);
            $("#" + divId).slideToggle("fast");
            if (ele.style.display == "block") {
                ele.style.display = "none";
                imageEle.innerHTML = '<img src="images/arrow_down.png">';
            }
            else {
                ele.style.display = "block";
                imageEle.innerHTML = '<img src="images/arrow_up.png">';                    
            }
        }
    </script>

そしてHTML:

<a id='imageDivLink' href="javascript:toggle('skills', 'imageDivLink');">
     <h2>Skills And Expertise</h2>
     <img class='arrow' src='images/arrow_down.png'>
</a>
<div id='skills' style='display:none;'>
     Lorem Ipsum...
</div>
4

4 に答える 4

0

問題はinnerHTML、使用を避けるために、すべての要素 HTML を置き換えて使用していることappend()です。

于 2013-08-16T10:45:48.727 に答える