2

PHP の「includes」にある javascript .hide() と .show() に関して問題があります。
ちょっと説明が難しいですが、コードを示します。

これが私のtoogle_div.js

function toggleWalkin() {
    $('#walk_in').show(500);
    $('#reservation').hide(500);
}

function toggleReservation() {
    $('#reservation').show(500);
    $('#walk_in').hide(500);
}

ここに私の ToggleMenu() があります

function toggleMenu(){
var overlay = document.getElementById('overlay');
var specialBox = document.getElementById('contentbox');
overlay.style.opacity = .8;
if(overlay.style.display == "block"){
    overlay.style.display = "none";
    specialBox.style.display = "none";
} else {
    overlay.style.display = "block";
    specialBox.style.display = "block";
}

}

ここに私のhtmlコードがあります://divの表示と非表示をトリガーするボタン

<a href="#" onclick="toggleMenu();">Walk-in</a>
<a href="#" onclick="toggleMenu();">Reservation</a>

//情報が表示されるコンテンツ

                        <div id="button-header">
                        <ul>
                            <li onmousedown="toggleWalkin();">Walk-in</li>
                            <li onmousedown="toggleReservation();">Reservation</li>
                            <li>Seminar Conference Schedule</li>
                            <li>Guest Ledger</li>
                            <li>Guest Database</li>
                            <li>Unavailable Rooms</li>
                            <li>Report Generation</li>
                        </ul>
                    </div>
<div id="content">
<div id="walk_in">
 Walk in
 <?php include "includes/navigation/walkin.php"; ?>
 </div>
<div id="reservation">
 <?php include "includes/navigation/reservation.php"; ?>
  </div>
</div>

基本的に、機能をクリックWalk-inするたびに.show()機能しました。しかし、 をクリックし Reservationても.show()機能しません。PHPのインクルードウォークインを削除すると、関数の予約が.show()機能することに気付きました。

要するに、これら 2 つのインクルードは基本的に.show().

4

2 に答える 2

0

おそらくphpファイルを含めた後echo、適切な形式でhtmlをエコーせず、ガベージされたhtmlにつながるステートメントがいくつかある可能性があります。

ソースを確認するか、ブラウザでページを調べます(F12Chromeの場合はPress / Ctrl+ U、Firefoxの場合)。関係するdivが期待どおりかどうかを確認します。

また、発生している他のjsエラーを確認してください。

于 2012-09-26T07:23:57.373 に答える
0

まず、 return false; を追加する必要があるようです。次のようにonclickの最後まで:

<?php
<a href="#" onclick="toggleMenu(); return false;">Walk-in</a>

2 つのインクルードが表示されていない場合の私の推測では、2 つのインクルード ファイルのいずれかに HTML エラーがあると考えられます。終了タグの欠落など

よろしく、 ケビン

于 2012-09-26T07:28:37.083 に答える