1

現在、ユーザーがリンクをクリックするとdivが非表示になりますが、リンクを再度クリックするとdivが非表示になるように、JavaScriptにelseステートメントを追加したいと考えています。誰かが私がこれを行う方法を教えてもらえますか?

<a id="myLink" href="javascript:void(0)" onclick="javascript:myLinkButtonClick();"><h3 id="bobcontent1-title" class="handcursor"><img src="assets/img/help_support/howdo.png" width="302" height="45" /></a>

<script>
function myLinkButtonClick()
{
    $(".nswp-frame2").hide();
}
</script>
4

2 に答える 2

6

jQuery を使用しているように見えるので、単純にメソッドを使用できますtoggle()

例えば:

$('#myLink').on('click', function() {
    $(".nswp-frame2").toggle();
});

このtoggle()メソッドは、要素が現在表示されているか非表示になっているかに応じて、要素の表示と非表示を交互に切り替えます。

補足として、この例では、例の目障りな (インライン) コードではなく、目立たない方法でメソッドをclick使用してハンドラーをイベントにバインドする方法に注意してください。on()これは、このスニペットが別のスクリプト宣言の一部であり、できればページの読み込み後に実行されることも意味します。したがって、より完全な例は次のようになります。

<script type="text/javascript">
    $(document).ready(function() {
        $('#myLink').on('click', function() {
            $(".nswp-frame2").toggle();
        });
    });
</script>
于 2013-03-26T17:54:11.840 に答える
3
function myLinkButtonClick()
{
    var $element = $('.nswp-frame2');
    if($element.is(':visible')){
        $element.hide();
    } else {
        $element.show();
    }
}

または、単純に .toggle メソッドを使用することもできます。

function myLinkButtonClick()
{
    $('.nswp-frame2').toggle();
}
于 2013-03-26T17:55:04.237 に答える