BlackAdder
%Europe/Berlin %656 %2005, 16:44
Hai,
Ik ben bezig met een site waarbij ik gebruik maak van een javascript waarbij content 'switchable' is. Ik doe dit op onderstaande manier.
<script="Javascript" type="text/javascript">
var enablepersist="on" //Enable saving state of content structure? (on/off)
if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}
function getElementbyClass(classname){
ccollect=new Array()
var inc=0
var alltags=document.all? document.all : document.getElementsByTagName("*")
for (i=0; i<alltags.length; i++){
if (alltags[i].className==classname)
ccollect[inc++]=alltags[i]
}
}
function contractcontent(omit){
var inc=0
while (ccollect[inc]){
if (ccollect[inc].id!=omit)
ccollect[inc].style.display="none"
inc++
}
}
function expandcontent(cid){
if (typeof ccollect!="undefined"){
contractcontent(cid)
document.getElementById(cid).style.display=(docume nt.getElementById(cid).style.display!="block")? "block" : "none"
selectedItem=cid+"|"+document.getElementById(cid).style.display
}
}
function revivecontent(){
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
contractcontent(selectedComponents[0])
document.getElementById(selectedComponents[0]).style.display=selectedComponents[1]
}
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(off set, end))
}
}
return returnvalue;
}
function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}
function saveswitchstate(){
if (typeof selectedItem!="undefined")
document.cookie=window.location.pathname+"="+selectedItem
}
function do_onload(){
getElementbyClass("switchcontent")
if (enablepersist=="on" && getselectedItem()!="")
revivecontent()
}
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
</script>
de HTML code:
<!-- Expandable content1 start -->
<span onClick="expandcontent('content1')" style="cursor:hand; cursor:pointer"><span class="productindex_list"><font color="##bda77e">Voorbeeld</font></span></span>
<div id="content1" class="switchcontent">
<table border="0" width="150" cellpadding="0" cellspacing="0">
<tr><td>
<div class="table_productindex">
</div>
<a href="" class="productindex_list">voorbeeldlink</a>
</td></tr></table>
</div>
<!-- Expandable content1 end -->
Stel nu dat ik 3 van deze bovenstaande contentboxen op een pagina heb, waarvan ik met PHP wil regelen of bijvoorbeeld box 1,2 of 3 al open staat wanneer de pagina wordt bekeken. Desnoods met een simpele <? if($_GET['']=="content3"){ .... } ?> Hoe krijg ik dat voor elkaar? Ik kom er zelf niet helemaal uit, aangezien alles wat ik probeer niet werkt. Alvast bedankt!!
Groet,
Nils
Ik ben bezig met een site waarbij ik gebruik maak van een javascript waarbij content 'switchable' is. Ik doe dit op onderstaande manier.
<script="Javascript" type="text/javascript">
var enablepersist="on" //Enable saving state of content structure? (on/off)
if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}
function getElementbyClass(classname){
ccollect=new Array()
var inc=0
var alltags=document.all? document.all : document.getElementsByTagName("*")
for (i=0; i<alltags.length; i++){
if (alltags[i].className==classname)
ccollect[inc++]=alltags[i]
}
}
function contractcontent(omit){
var inc=0
while (ccollect[inc]){
if (ccollect[inc].id!=omit)
ccollect[inc].style.display="none"
inc++
}
}
function expandcontent(cid){
if (typeof ccollect!="undefined"){
contractcontent(cid)
document.getElementById(cid).style.display=(docume nt.getElementById(cid).style.display!="block")? "block" : "none"
selectedItem=cid+"|"+document.getElementById(cid).style.display
}
}
function revivecontent(){
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
contractcontent(selectedComponents[0])
document.getElementById(selectedComponents[0]).style.display=selectedComponents[1]
}
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(off set, end))
}
}
return returnvalue;
}
function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}
function saveswitchstate(){
if (typeof selectedItem!="undefined")
document.cookie=window.location.pathname+"="+selectedItem
}
function do_onload(){
getElementbyClass("switchcontent")
if (enablepersist=="on" && getselectedItem()!="")
revivecontent()
}
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
</script>
de HTML code:
<!-- Expandable content1 start -->
<span onClick="expandcontent('content1')" style="cursor:hand; cursor:pointer"><span class="productindex_list"><font color="##bda77e">Voorbeeld</font></span></span>
<div id="content1" class="switchcontent">
<table border="0" width="150" cellpadding="0" cellspacing="0">
<tr><td>
<div class="table_productindex">
</div>
<a href="" class="productindex_list">voorbeeldlink</a>
</td></tr></table>
</div>
<!-- Expandable content1 end -->
Stel nu dat ik 3 van deze bovenstaande contentboxen op een pagina heb, waarvan ik met PHP wil regelen of bijvoorbeeld box 1,2 of 3 al open staat wanneer de pagina wordt bekeken. Desnoods met een simpele <? if($_GET['']=="content3"){ .... } ?> Hoe krijg ik dat voor elkaar? Ik kom er zelf niet helemaal uit, aangezien alles wat ik probeer niet werkt. Alvast bedankt!!
Groet,
Nils