2013-03-22 2 views
0

이 작업을 수행해야합니다. 그것을하는 방법 진짜 확실하지 않습니다. 나는 index.php를 실행하는 php 페이지를 가지고 있고 menu.php와 몇몇 다른 하위 파일들을로드하고 가져 오는 나의 메인 페이지이다. 그래서 여기에 내 문제가있다. Java로 작성된 드롭 다운 메뉴가 있고 페이지의 제목을 생성하기 위해 Jquery 스크립트가 링크되어 있습니다. 무슨 일이 일어나는지는 메뉴에서 링크를 클릭하면 잠시 동안 제목이 표시되고 새 페이지로 이동하기 때문에 사라집니다. 내가 거짓 반환을 추가하면 멈추고 작동하지만 새로운 페이지로 이동하지는 않습니다. 그래서 여기에 내 문제가있다. 나는 변수를 설정해야합니다 가정이나 무언가를 누른 그 가치를 개최하고 새 페이지로 가져 가라. 어떻게해야할지 모르겠다. 여기 내 메뉴 코드가 있습니다.jquery에 대한 전역 변수를 설정하여 여러 페이지에 걸쳐 수행

<!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> 

여기 아래

 <!-- 
    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; 
// --> 

내가 완전히 도움을 주셔서 감사합니다 것 정말이 작업을 수행하는 방법에 대한 몇 가지 이유 stumpped하고 내 드롭 여기

//navigation 

$(document).ready(function() { 

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


    }) 
}); 

내 jQuery를

입니다.

+0

페이지가 다시로드 될 때 변수가 손실되므로 쿠키 또는 로컬 저장소가 필요합니다. – adeneo

+0

세션 기반 솔루션의 경우 세션 또는 쿠키의 값을 설정할 수 있지만 서버에 변수를 보내야합니다. – Brad

+0

로컬 저장소를 설정하는 방법에 대해 어떻게 생각합니까? 나는 그 명령에 익숙하지 않다. – dkrider471

답변

0

쿠키 사용! 여기에 몇 가지 자바 스크립트입니다 : 그들은 여러 페이지에 걸쳐 지속되지 않도록

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); 
     } 
    } 

}

+0

내가 할 필요가 없다면 쿠키를하지는 않겠지 만, ID 이름을 어떻게 든 넘길 수 있다면 URL이 가고 싶을 수도 있습니다. 어떻게해야할지 모르겠다. 누구든지 제안을 받았습니까? – dkrider471

2

전역 변수는 주어진 페이지의 수명 동안 만 지속됩니다. 따라서 한 페이지에서 다른 페이지로 데이터를 전달하려면 브라우저 또는 서버의 어딘가에 데이터를 저장하여 후속 페이지에서 검색 할 수 있도록해야합니다. 쿠키에

  1. 저장 데이터와 후속 페이지에 쿠키에서 검색 : 저장하거나 브라우저에 데이터를 전달하는

    옵션은 다음.

  2. 데이터를 로컬 저장소에 저장 한 다음 후속 페이지의 로컬 저장소에서 검색하십시오.
  3. 다음 페이지로 이동, URL에 데이터가 당신도 쿼리 매개 변수 또는 해시 값으로 (로 이동 한 후 다음 페이지에 자바 스크립트로 URL에서 데이터를 검색하는 인코딩.

옵션 1과 2는 많은 페이지가 액세스해야하는 데이터에 가장 적합합니다. 모든 브라우저의 모든 버전에서 쿠키가 지원되지만 (경우에 따라 사용자가 쿠키를 차단할 수도 있음) 로컬 저장소는 조금 더 깨끗한 API이며 모든 최신 브라우저에서 지원됩니다 일부 오래된 브라우저에서는 지원되지 않습니다. 도메인 당 저장할 수있는 데이터의 양은 로컬 저장소보다 쿠키에서 더 제한됩니다.

옵션 1 및 2 동일한 도메인에있는 페이지에 대해 작동합니다. 쿠키 및 로컬 저장소는 데이터를 저장 한 도메인 외부에서 액세스 할 수 없습니다.

쿠키 읽기/쓰기는 this article on MDN을 참조하십시오.

로컬 저장소를 사용할 수없는 경우 쿠키로 되돌아가는 호환성 라이브러리를 포함하여 로컬 저장소 읽기/쓰기 용으로 this article on MDN을 참조하십시오.

관련 문제