0

これが私がしなければならないことです。それを行う方法がよくわかりません。index.php を実行している php ページがあります。これは、menu.php と他のいくつかのサブファイルを読み込んで取り込むメイン ページです。だからここに私の問題があります。Java で記述されたドロップダウン メニューがあり、ページのタイトルを生成するためにリンクされた Jquery スクリプトもあります。メニューのリンクをクリックすると、タイトルが1分間表示された後、新しいページに移動するために消えます。return false を追加すると、停止して機能しますが、もちろん新しいページには転送されません。だからここに私の問題があります。変数 im を設定するか、クリックされたものの値を保持して新しいページに移動する必要がありますが、どうすればよいかわかりません。これが私のメニューコードです。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>


  <link rel="stylesheet" type="text/css" href="main.css" />
  <link rel="stylesheet" type="text/css" href="css/default.css">
  <link rel="stylesheet" type="text/css" href="css/css-slider.css">
  <script type="text/javascript" src="Scripts/jquery-1.7.1.js"></script>
    <script src="css/active.js" type="text/javascript">
  </script> 
    <script src="css/drop1.js" type="text/javascript">
  </script> 

  </script>


<!--Main Navigation Start -->

  <div id="nav" class="nav">
  <ul id="sddm">
  <li><a class="navigation" value="home" id="Home" href="index.php" onMouseOver="mopen('m1')" onMouseOut="mclosetime()">Home</a>
  <div id="m1" onMouseOver="mcancelclosetime()" onMouseOut="mclosetime()"> 
  </div>
  </li>
  <li><a class="navigation" id="Station History" href="station_history.php" onMouseOver="mopen('m2')" onMouseOut="mclosetime()">Station History</a>
  <div id="m2" onMouseOver="mcancelclosetime()" onMouseOut="mclosetime()"> 
  </div>
  </li>
  <li>
  <a class="navigation" id="Apparatus" href="Apparatus.php" onMouseOver="mopen('m3')" onMouseOut="mclosetime()">Apparatus</a>
  <div id="m3" onMouseOver="mcancelclosetime()" onMouseOut="mclosetime()"> 
  <a class="navigation" id="Truck History" href="truck_history.php">Truck History</a> 
  </div>
  </li>
  <li>
  <a class="navigation" id="Photo Gallery" href="photos.php" onMouseOver="mopen('m4')" onMouseOut="mclosetime()">Photos</a>
  <div id="m4" onMouseOver="mcancelclosetime()" onMouseOut="mclosetime()"> 
  </div>
  </li>
  <li>
  <a class="navigation" id="News & Events" href="news_events.php" onMouseOver="mopen('m5')" onMouseOut="mclosetime()">News & Events</a>
  <div id="m5" onMouseOver="mcancelclosetime()" onMouseOut="mclosetime()"> 
  </div>
  </li>
  <li>
  <a class="navigation" id="Station Members" href="Station_members.php" onMouseOver="mopen('m6')" onMouseOut="mclosetime()">Station Members</a>
  <div id="m6" onMouseOver="mcancelclosetime()" onMouseOut="mclosetime()"> 
  </div>
  </li>
  <li>
  <a class="navigation" id="Education" href="education.php" onMouseOver="mopen('m7')" onMouseOut="mclosetime()">Education</a>
  <div id="m7" onMouseOver="mcancelclosetime()" onMouseOut="mclosetime()"> 
  <a class="navigation" id="Station Tours" href="">Station Tours</a>
  <a class="navigation" id="Fire Extinguisher" href="">Fire Extinguisher</a>
  <a class="navigation" id="First Aid & CPR" href="">First Aid & CPR</a>
  <a class="navigation" id="Smoke Alarms" href="">Smoke Alarms</a> 
  </div>
  </li>
  <li>
  <a class="navigation" id="Contact Us" href="contactus.php" onMouseOver="mopen('m8')" onMouseOut="mclosetime()">Contact Us</a>
  <div id="m8" onMouseOver="mcancelclosetime()" onMouseOut="mclosetime()"> </div>
  </li>
  </ul>
  </div>
  </div>

</body>
</html>

<!DOCTYPE html>

ここに私のJqueryがあります

//navigation 

$(document).ready(function () {

    //var mname = ($(this).attr('id'));
    $("a.navigation").click(function () {
        //alert($(this).attr('id'));
        $("span#title").html($(this).attr('id'));


    })
});

ここに私のドロップダウンがあります

      <!--
  var timeout         = 500;
  var closetimer    = 0;
  var ddmenuitem      = 0;

// open hidden layer
function mopen(id)
{ 
  // cancel close timer
  mcancelclosetime();

  // close old layer
  if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

  // get new layer and show it
  ddmenuitem = document.getElementById(id);
  ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
  if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
  closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
  if(closetimer)
  {
    window.clearTimeout(closetimer);
    closetimer = null;
  }
}

// close layer when click-out
document.onclick = mclose; 
// -->

これを行う方法について何らかの理由で完全に困惑しており、本当に助けていただければ幸いです。

4

2 に答える 2

2

グローバル変数は、特定のページの有効期間のみ存続するため、複数のページにわたって存続することはありません。したがって、あるページから別のページにデータを渡すには、ブラウザまたはサーバーのどこかにデータを保存して、後続のページで取得できるようにする必要があります。

ブラウザでデータを保存または渡すためのオプションは次のとおりです。

  1. データを Cookie に保存し、後続のページで Cookie からデータを取得します。
  2. データをローカル ストレージに格納し、後続のページでローカル ストレージから取得します。
  3. 次のページに移動するときは、移動先の URL のデータを (クエリ パラメーターまたはハッシュ値として) エンコードし、次のページで JavaScript を使用して URL からそのデータを取得します。

オプション 1 と 2 は、多くのページがアクセスする必要があるデータに最適です。Cookie は、すべてのブラウザーのすべてのバージョンでサポートされています (ただし、ユーザーがブロックする場合があります)。ローカル ストレージは少しクリーンな API であり、最新のすべてのブラウザーでサポートされていますが、一部の古いブラウザーではサポートされていません。ドメインごとに保存できるデータの量は、ローカル ストレージよりも Cookie の方が制限されます。

オプション 1 と 2 は、同じドメイン内のページに対してのみ機能することに注意してください。Cookie とローカル ストレージは、データを保存したドメイン外ではアクセスできません。

Cookie の読み取り/書き込みについては、MDN のこの記事を参照してください。

ローカル ストレージが利用できない場合に Cookie にフォールバックする互換性ライブラリを含む、ローカル ストレージの読み取り/書き込みについては、MDN のこの記事を参照してください。

于 2013-03-22T00:56:26.307 に答える
0

クッキーを使おう!ここにいくつかのJavascriptがあります:

function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name){
    var i,x,y,ARRcookies = document.cookie.split(";");
    for (i = 0; i < ARRcookies.length; i++)
    {
      x = ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
      y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
      x = x.replace(/^\s+|\s+$/g,"");
      if (x == c_name)
        {
        return unescape(y);
        }
    }

}

于 2013-03-22T00:42:22.567 に答える