Link maken

  • Onderwerp starter Onderwerp starter rv94
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

rv94

Gebruiker
Lid geworden
15 jan 2011
Berichten
306
Ik had een vraag. Ik heb een hoofdpagina(index.html) en een 2de pagina.(index-1.html) op de 2de pagina heb ik een java script code gebruikt om de subpagina's met tekst open en dicht te klappen. Op de zelfde pagina lukt dat, maar nu wil ik dat als je op de hoofdpagina er 1 aan klikt dat hij dan naar pagina 2 gaat en daar ook die tekst open klapt. Is dit mogelijk en hoe zou dat moeten?
 
Je kan dit met cookies doen, maar mischien is het makkelijker om via wat Javascript-magie een php $_GET te faken. Je maakt dan zulke links:
HTML:
<a href='index-2.html?openklappen=3'>naar pagina 2</a>
op de index-2.html gebruik je dan een script dat leest wat voor query er was, zoals je kan zien gebeuren op deze test pagina (het gaat om get.js):
[JS]var welkeKlappen = $_GET['openklappen']; // noot: wel get.js nodig dus

if(welkeKlappen == '3')
{
// klap item 3 uit
}[/JS]


:thumb:
 
Laatst bewerkt:
Ik snap het niet helemaal. Dit is de code die ik gebruik om
[JS] <script type="text/javascript">

var onthouden="aan" // actuele status bijhouden met sessie-cookie (aan/uit)
var vorige_verbergen="ja" // bij nieuw item vorige geopende item dichtvouwen(ja/nee)

if (document.getElementById){
document.write('<style type="text/css">')
document.write('.wisselen{display:none;}')
document.write('</style>')}

function getElementbyClass(classname){
ophalen=new Array()
var teller=0
var alleTags=document.all? document.all : document.getElementsByTagName("*")
for (i=0; i<alleTags.length; i++){
if (alleTags.className==classname)
ophalen[teller++]=alleTags}}

function dichtvouwen(omit){
var teller=0
while (ophalen[teller]){
if (ophalen[teller].id!=omit)
ophalen[teller].style.display="none"
teller++}}

function uitvouwen(cid){
if (typeof ophalen!="undefined"){
if (vorige_verbergen=="ja")
dichtvouwen(cid)
document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"}}

function vernieuwen(){
dichtvouwen("alles")
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
for (i=0; i<selectedComponents.length-1; i++)
document.getElementById(selectedComponents).style.display="block"}

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 status_opslaan(){
var teller=0, selectedItem=""
while (ophalen[teller]){
if (ophalen[teller].style.display=="block")
selectedItem+=ophalen[teller].id+"|"
teller++}
document.cookie=window.location.pathname+"="+selectedItem}

function do_onload(){
getElementbyClass("wisselen")
if (onthouden=="aan" && typeof ophalen!="undefined")
vernieuwen()}

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 (onthouden=="aan" && document.getElementById)
window.onunload=status_opslaan

</script>[/JS]

HTML:
<p onClick="uitvouwen('sc1')" style="cursor:hand;">Tekst 1</p> [I]dit voor de button om het uit te vouwen het uitvouwen. [/I]
<div id="sc1" class="wisselen">
Dit bij elke tekst.
</div>

En dan had ik nog ene vraag nu zou ik graag willen hebben dat er de eerste open staat. anders kom je op zo'n leeg scherm.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan