| веб-мастеру | блог веб-мастера | Статьи Веб-Мастера | SEO Tools | книги веб-мастеру |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| -TNT- |
13.5.2008, 14:29
Сообщение
#1
|
|
Начинающий ![]() ![]() ![]() Группа: Свои Сообщений: 40 Регистрация: 5.12.2007 Пользователь №: 406 |
Нашёл на сайте полезный скрипт для скрытия/раскрытия <div>. Только вот минус, при обновлении страницы <div> который нажал скрыть, оказывается развёрнутым (, хотя должен быть скрыт...
Вот скрипт: Код var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off) var memoryduration="7" //persistence in # of days var contractsymbol='http://www.maxidrom.net/templates/MaxiProject/img/clip/clip_up.gif' //Path to image to represent contract state. var expandsymbol='http://www.maxidrom.net/templates/MaxiProject/img/clip/clip_down.gif' //Path to image to represent expand state. /////No need to edit beyond here ////////////////////////// function getElementbyClass(rootobj, classname){ var temparray=new Array() var inc=0 var rootlength=rootobj.length for (i=0; i<rootlength; i++){ if (rootobj[i].className==classname) temparray[inc++]=rootobj[i] } return temparray } function sweeptoggle(ec){ var inc=0 while (ccollect[inc]){ ccollect[inc].style.display=(ec=="contract")? "none" : "" inc++ } revivestatus() } function expandcontent(curobj, cid){ if (ccollect.length>0){ document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="none")? "none" : "" curobj.src=(document.getElementById(cid).style.display=="none")? expandsymbol : contractsymbol } } function revivecontent(){ selectedItem=getselectedItem() selectedComponents=selectedItem.split("|") for (i=0; i<selectedComponents.length-1; i++) document.getElementById(selectedComponents[i]).style.display="none" } function revivestatus(){ var inc=0 while (statecollect[inc]){ if (ccollect[inc].style.display=="none") statecollect[inc].src=expandsymbol else statecollect[inc].src=contractsymbol inc++ } } function get_cookie(Name) { var search = Name + "=" var returnvalue = ""; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search) if (offset != -1) { offset += search.length end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; returnvalue=unescape(document.cookie.substring(offset, end)) } } return returnvalue; } function getselectedItem(){ if (get_cookie(window.location.pathname) != ""){ selectedItem=get_cookie(window.location.pathname) return selectedItem } else return "" } function saveswitchstate(){ var inc=0, selectedItem="" while (ccollect[inc]){ if (ccollect[inc].style.display=="none") selectedItem+=ccollect[inc].id+"|" inc++ } if (get_cookie(window.location.pathname)!=selectedItem){ //only update cookie if current states differ from cookie's var expireDate = new Date() expireDate.setDate(expireDate.getDate()+parseInt(memoryduration)) document.cookie = window.location.pathname+"="+selectedItem+";path=/;expires=" + expireDate.toGMTString() } } function do_onload(){ uniqueidn=window.location.pathname+"firsttimeload" var alltags=document.all? document.all : document.getElementsByTagName("*") ccollect=getElementbyClass(alltags, "switchcontent") statecollect=getElementbyClass(alltags, "showstate") if (enablepersist=="on" && get_cookie(window.location.pathname)!="" && ccollect.length>0) revivecontent() if (ccollect.length>0 && statecollect.length>0) revivestatus() } if (window.addEventListener) window.addEventListener("load", do_onload, false) else if (window.attachEvent) window.attachEvent("onload", do_onload) else if (document.getElementById) window.onload=do_onload if (enablepersist=="on" && document.getElementById) window.onunload=saveswitchstate А это, пример его использования: Код <img src="#" onClick="expandcontent(this, 'cat')" alt="Спрятать / Показать" width="10" height="10"> <div id="cat">Содержимое для скрытия</div> У IPB всё как надо работает, даже после обновления... помогите плиз... довести до ума скрипт. |
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 8.8.2008, 8:12 |