「SandBox」の編集履歴(バックアップ)一覧に戻る
SandBox - (2009/07/25 (土) 19:13:26) のソース
#include_js(http://www39.atwiki.jp/aslike/pub/Script/javascript-xpath.js) //data--------------------------------------------------------------------------------------- &html(<ul id="root" class="tree"><li>Hint & Tips For Ver1.5x) #divid(menuitems){{{{{ -1 --2 --3 ---4 --5 ---6 -7 --8 }}}}} &html(</li></ul>) //javascript--------------------------------------------------------------------------------------- #javascript(){{{{{{ window.onunload = function(){ var docdata = document.getElementById("dust"); var menudata = document.evaluate("//div[contains(@id,'hat15xmenu')]" ,docdata,null ,7 ,null); var menuitems = document.getElementById("menuitems"); menuitems.innerHTML = menudata.snapshotItem(0).innerHTML; docdata.innerHTML = ""; var root = document.getElementById("root"); var ulNodes= document.evaluate('li//ul' ,root ,null ,7 ,null); for(var ulIdx = 0; ulIdx < ulNodes.snapshotLength; ulIdx++){ var liNodes = document.evaluate('li',ulNodes.snapshotItem(ulIdx),null ,7 ,null); liNodes.snapshotItem(liNodes .snapshotLength - 1).className = "lastitem"; } var folderLiNodes= document.evaluate('//li[ul]' ,root ,null ,7 ,null); for(var liIdx = 0; liIdx < folderLiNodes.snapshotLength; liIdx++){ var treeswitch = document.createElement("span"); treeswitch.className = "treeswitch expanded"; treeswitch.isExpanded = true; treeswitch.onclick = function(){toggleExcerpt(this);}; var parentNode = folderLiNodes.snapshotItem(liIdx); parentNode.insertBefore(treeswitch,parentNode.firstChild); } var treeswitchNodes= document.evaluate("li//span[contains(@class,'treeswitch')]" ,root ,null ,7 ,null); var cookieDatas = document.cookie.split("; "); var isExpandedDataStr = ""; for (var cookieDataIdx=0; cookieDataIdx<cookieDatas.length; cookieDataIdx++){ if (cookieDatas[cookieDataIdx].substr(0,20) == "treemenuExpandState="){ isExpandedDataStr = cookieDatas[cookieDataIdx].substr(20,cookieDatas[cookieDataIdx].length); break; } } var isExpandedDataStrs = isExpandedDataStr.split(","); var isExpandedData = new Array(); for(var isExpandedDataIdx=0; isExpandedDataIdx < isExpandedDataStrs.length; isExpandedDataIdx++){ isExpandedData.push(isExpandedDataStrs[isExpandedDataIdx] == "true"); } if(isExpandedData.length == treeswitchNodes.snapshotLength){ for(var treeswitchIdx= 0; treeswitchIdx< treeswitchNodes.snapshotLength; treeswitchIdx++){ var treeswitch = treeswitchNodes.snapshotItem(treeswitchIdx); if(!isExpandedData[treeswitchIdx]){ toggleExcerpt(treeswitch); } } } }; window.onunload = function(){ var root = document.getElementById("root"); var treeswitchNodes= document.evaluate("li//span[contains(@class,'treeswitch')]" ,root ,null ,7 ,null); var isExpandedData = new Array(); for(var treeswitchIdx= 0; treeswitchIdx< treeswitchNodes.snapshotLength; treeswitchIdx++){ var treeswitch = treeswitchNodes.snapshotItem(treeswitchIdx); isExpandedData.push(treeswitch.isExpanded); } document.cookie = "treemenuExpandState=" + isExpandedData.join(",") + ";"; }; }}}}}}