0

リンクをクリックすると表示されるdivがいくつかありますが、2番目のリンクをクリックしてポップアップすると、新しいリンクが開く前に開いているリンクが閉じられるようにしようとしています。一度に 1 つのみ開く必要があります。

js...

<script>
    $.fn.slideFadeToggle = function (easing, callback) {
    return this.animate({
        opacity: 'toggle',
        width: 'toggle'
    }, "fast", easing, callback);
};

$(function () {
    function select($link) {
        $link.addClass('selected');
        $($link.attr('href')).slideFadeToggle(function () {});
    }

    function deselect($link) {
        $($link.attr('href')).slideFadeToggle(function () {
            $link.removeClass('selected');
        });
    }

    $('.contact').click(function () {
        var $link = $(this);
        if ($link.hasClass('selected')) {
            deselect($link);
        } else {
            select($link);
        }
        return false;
    });

    $('.close').live('click', function () {
        deselect();
        return false;
    });
});

                            </script>

分割...

 <div id='did_{$page_trackid}'  class='arrow_box pop_{$page_trackid}' style=''>  <img src='".$info4['Image']."' class='subtext_img'>
                                                    <h2 class='subtext'><a href='http://www.xxxxxxx.co.uk/dnb/".$info2['username']."'>".$info2['username']."</a></h2>
                                                    <p class='subtext'>".$info3['user_title']."</p>
                                                    <p class='subtext'><a href='".$info3['website_link']."' target='_blank'>".$info3['website_link']."</a>

                                                    </p>

                                                    </div>

                 <div id='did_2_{$page_trackid}'  class='arrow_box2 pop_stats_{$page_trackid}' style=''>  
                                                    <h2 class='subtext'>Stats</h2><br />
                                                    <p class='subtext'>Plays: 1m <br />
                                                                    Downloads: 527, 046

                                                    </p>

                                                    </div>

リンク...

<div style='position: absolute; z-index: 2; padding-top: 30px; padding-left: 699px;'>

                <a href='#did_{$page_trackid}' class='contact' ><img style='height: 20px;' alt='Posted by' src='http://www.xxxxxxxxxx.co.uk/play1/skin/user-profile2.png' style=''></a> 
                </div>

                <div style='position: absolute; z-index: 1; width: 20px; height: 20px; padding-top: 50px; padding-left: 699px;'>
                <a href='#did_2_{$page_trackid}' class='contact'><img style='height: 20px;' alt='Track stats' src='http://www.xxxxxxxx.co.uk/play1/skin/stats.png' style=''></a>
                </div>

最初の関数を次のように置き換えてみました

function select($link) {
$link.addClass('selected');
$('.arrow_box:visible').slideFadeToggle(function () {});
$($link.attr('href')).slideFadeToggle(function () {});

}

しかし、それはバグアウトし、一方のポップが他方のポップに重なります。divには2つのクラス(それぞれに1つ)があるので、追加しようとしました

$('.arrow_box2:visible').slideFadeToggle(関数 () {});

しかし、それもうまくいきません。

リンクをクリックして新しいポップアップを開くときに、開いているarrow_boxまたはarrow_box2を閉じる正しい方法はありますか??

ありがとう

4

1 に答える 1