webForumDet fria alternativet
Logga in / Bli medlem

Alltid utfällda.

JavaScript

6 svar · 226 visningar · startad av Mannen

Medlem sedan jan. 2003247 inlägg
Trådstart#1

Har en funktion som öppnar en ny nedfällbar "bit" med info utan att ladda om sidan. Men vissa webbläsare stödjer inte detta, kan jag då göra så det nedfällbara alltid är öppet?

Här är koden.
#################################
var folder;

function expandit(objID){

if(document.getElementById){
folder = document.getElementById(objID); //DOM-kompatibel browser
} else if(document.all){
folder = document.all[objID]; //äldre versioner av IE
}

if (folder.style.display=="none")
folder.style.display="block"
else
folder.style.display="none"
}
#################################
<tr style="cursor:pointer" onClick="expandit('ad1')"></tr>

<div style="display:none" id="ad1">
Nefällbar text
</div>
#################################

Tack på förhand.

Medlem sedan nov. 20017 144 inlägg
#2

Du får köra lite visibility: http://www.webforum.nu/showthread.php?s=&postid=657263#post657263

Medlem sedan jan. 2003247 inlägg
#3

Tackar, men jag är rätt kass på javascript/dhtml så jag får inte ut ngt av det.
Jag använder mig även an dynsamiska ID på varje "lager" som ska visas.

Menkan ngn kunnig förklara med lite kod, i den andra tråden fanns detta.

####################
ns4 = (document.layers)?true:false;
ie4 = (document.all &&(!document.getElementById))?true:false;
dom = (document.getElementById)?true:false;

/**
* Visar ett osynligt lager
* id är namnet på det lager som skall visas
*/
function show(id)
{
if(ns4) document.layers[id].visibility = "show";
if(ie4) document.all[id].style.visibility = "visible";
if(dom) document.getElementById(id).style.visibility = "visible";
}
/**
* Döljer ett synligt lager
* id är namnet på det lager som skall döljas
*/
function hide(id)
{
if(ns4) document.layers[id].visibility = "hide";
if(ie4) document.all[id].style.visibility = "hidden";
if(dom) document.getElementById(id).style.visibility = "hidden";
}
#####################

Hoppas någon kan hjälpa till.

Medlem sedan dec. 2002258 inlägg
#4
ns4 = (document.layers)?true:false;
ie4 = (document.all &&(!document.getElementById))?true:false;
dom = (document.getElementById)?true:false;

function expandIt(id) {
if (dom) {
if (document.getElementById(id).style.visibility == 'none') {
document.getElementById(id).style.visibility = 'visible';
}
else {
document.getElementById(id).style.visibility = 'hidden';
}
}
else if (ie4) {
if (document.all[id].style.visibility == 'hidden') {
document.all[id].style.visibility = 'visible';
}
else {
document.all[id].style.visibility = 'hidden';
}
}
else if (ns4) {
if (document.layers[id].visibility == 'hide') {
document.layers[id].visibility = 'show';
}
else {
document.layers[id].visibility = 'hide';
}
}
}
Medlem sedan jan. 2003247 inlägg
#5

Tack för svaret, får det dock inte att fungera. "lagret" som ska öpnnas öppnas inte när jag klickar på det, och det skapas inget felmedelande.

Jag ska väll lägga in koden som du gav mig i head och sedan köra med det jag brukar i body delen?

Medlem sedan jan. 2003247 inlägg
#6

Ingen som kan hjälpa mig?
Problemet är att den aldrig fälls ut om jag använder mig av koden ovan.

Snälla, behöver verkligen hjälp.

Medlem sedan nov. 20017 144 inlägg
#7

Använd denna så slipper du tänka... ;) : http://www.jojoxx.net/dhtml/examples/DOMmenu.html

265 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)