/xiazai/data/menu/menu.js

http://xianshihai.codeplex.com · JavaScript · 166 lines · 145 code · 9 blank · 12 comment · 23 complexity · 1d803e728b43664fc1b8ca6069b33551 MD5 · raw file

  1. // JavaScript Document
  2. function chengstate(menuid,save)
  3. { //???????/??
  4. menuobj = eval("item"+menuid);
  5. obj = eval("pr"+menuid);
  6. if(menuobj.style.display == '')
  7. {
  8. menuobj.style.display = 'none';
  9. }else{
  10. menuobj.style.display = '';
  11. }//end if
  12. switch (obj.className)
  13. {
  14. case "menu1":
  15. obj.className = "menu2";
  16. break;
  17. case "menu2":
  18. obj.className = "menu1";
  19. break;
  20. case "menu3":
  21. obj.className = "menu4";
  22. break;
  23. case "menu4":
  24. obj.className = "menu3";
  25. break;
  26. }//end switch
  27. if(save!=false)
  28. {
  29. setupcookie(menuid); //????
  30. }//end if
  31. }//end funciton chengstaut
  32. function setupcookie(menuid)
  33. { //??cookie ??????
  34. var menu = new Array();
  35. var menustr = new String();
  36. menuOpen = false;
  37. if(checkCookieExist("menu"))
  38. { //????????????cookie
  39. menustr = getCookie("menu");
  40. //alert(menustr);
  41. if(menustr.length>0)
  42. { //??menu??????????????
  43. menu = menustr.split(",");
  44. for(i=0;i<menu.length;i++)
  45. {
  46. if(menu[i]==menuid)
  47. { //??????????????
  48. menu[i]='';
  49. menuOpen = true;
  50. }//end if
  51. }//end for
  52. if(menuOpen==false)menu[i] = menuid;
  53. }else{
  54. menu[0] = menuid;
  55. }//end if
  56. }else{
  57. menu[0] = menuid;
  58. }//end if
  59. menustr = menu.join(",");
  60. menustr = menustr.replace(",,",",");
  61. if(menustr.substr(menustr.length-1,1)==',')menustr = menustr.substr(0,menustr.length-1); //????? ","
  62. if(menustr.substr(0,1)==',')menustr = menustr.substr(1,menustr.length-1); //????? ","
  63. saveCookie("menu",menustr,1000);
  64. //alert(menustr);
  65. //deleteCookie("menu");
  66. }//end function setupcookie
  67. function initialize()
  68. { //??cookie ???????,,???????
  69. var menu = new Array();
  70. var menustr = new String();
  71. if(checkCookieExist("menu"))
  72. { //????????????cookie
  73. menustr = getCookie("menu");
  74. if(menustr.length>0)
  75. { //????????
  76. menu = menustr.split(",");
  77. for(i=0;i<menu.length;i++)
  78. {
  79. if(objExists(menu[i]))
  80. { //????????
  81. chengstate(menu[i],false);
  82. }//end if
  83. }//end for
  84. objExists(99);
  85. }//end if
  86. }//end if
  87. }//end funciton setupstate
  88. function objExists(objid)
  89. { //????????
  90. try
  91. {
  92. obj = eval("item"+objid);
  93. }//end try
  94. catch(obj)
  95. {
  96. return false;
  97. }//end catch
  98. if(typeof(obj)=="object")
  99. {
  100. return true;
  101. }//end if
  102. return false;
  103. }//end function objExists
  104. //--------------------------------------------------???????????? ??Cookie ??
  105. function saveCookie(name, value, expires, path, domain, secure)
  106. { // ??Cookie
  107. var strCookie = name + "=" + value;
  108. if (expires)
  109. { // ??Cookie???, ?????
  110. var curTime = new Date();
  111. curTime.setTime(curTime.getTime() + expires*24*60*60*1000);
  112. strCookie += "; expires=" + curTime.toGMTString();
  113. }//end if
  114. // Cookie???
  115. strCookie += (path) ? "; path=" + path : "";
  116. // Cookie?Domain
  117. strCookie += (domain) ? "; domain=" + domain : "";
  118. // ????????,??????
  119. strCookie += (secure) ? "; secure" : "";
  120. document.cookie = strCookie;
  121. }//end funciton saveCookie
  122. function getCookie(name)
  123. { // ????????Cookie?, null??Cookie???
  124. var strCookies = document.cookie;
  125. var cookieName = name + "="; // Cookie??
  126. var valueBegin, valueEnd, value;
  127. // ??????Cookie??
  128. valueBegin = strCookies.indexOf(cookieName);
  129. if (valueBegin == -1) return null; // ???Cookie
  130. // ????????
  131. valueEnd = strCookies.indexOf(";", valueBegin);
  132. if (valueEnd == -1)
  133. valueEnd = strCookies.length; // ????Cookie
  134. // ??Cookie?
  135. value = strCookies.substring(valueBegin+cookieName.length,valueEnd);
  136. return value;
  137. }//end function getCookie
  138. function checkCookieExist(name)
  139. { // ??Cookie????
  140. if (getCookie(name))
  141. return true;
  142. else
  143. return false;
  144. }//end function checkCookieExist
  145. function deleteCookie(name, path, domain)
  146. { // ??Cookie
  147. var strCookie;
  148. // ??Cookie????
  149. if (checkCookieExist(name))
  150. { // ??Cookie???????
  151. strCookie = name + "=";
  152. strCookie += (path) ? "; path=" + path : "";
  153. strCookie += (domain) ? "; domain=" + domain : "";
  154. strCookie += "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  155. document.cookie = strCookie;
  156. }//end if
  157. }//end function deleteCookie