webForumDet fria alternativet

IF sats i JavaScript...

4 svar · 312 visningar · startad av annesophie

annesophieMedlem sedan juni 20012 236 inlägg
#1

Jag har ett JavaScript där, vid klick på en länk, en, hitills osynlig, del av en tabell visas. Scriptet fann jag har: http://www.simplythebest.net/info/dhtmscript12.html

Allt funkar som det ska, förutom...NetScape. Vilket inte är så konstigt då scriptet är gjort för IE. Vad jag funderade på var om man kan skapa en IF sats som säger:

IF Netscape browser:
<a href="JavaScript:history.go(-1);" onfocus="blur();">back</a>
ELSE
Visa länken som man kan avända för att "öppna" tabellen.
END IF

Jag är då verkligen ingen mästare på JavaScripts, och kan inget om IF satser i JS.

Är det möjligt att göra något sånt här??

LIte kod:


...

<script LANGUAGE="VBScript">
<!--
sub pop (id)
	if id.style.display = "" then
		id.style.display = "none"
	else 
		id.style.display = ""
	end if
end sub
sub MouseOver (id)
	
	id.style.fontweight = "normal"
	id.style.color= "#CC3333"
	
end sub
sub MouseOut (id)
	id.style.fontweight = "normal"
	id.style.color="#CC3333"
end sub
-->
</script>

</head>

<BODY>

<table>
	<tr>
		<td>
<!--Kan man lagga en IF sats som, om det ar IE browsers visar nedan lank-->
			<p align="left"><span id="c1" style="color:#CC3333;" onclick="pop(datac1)" onmouseover="MouseOver(c1)" onmouseout="MouseOut(c1)"><a href="#"><b><font size="1">Har oppnar man den osynliga tabellen</font></b></a></span></p>
<!--...och om det ar NN browsers visar en-->
			<a href="JavaScript:history.go(-1);" onfocus="blur();">back</a>
<!-- istallet ??????????????????????????????????????????????????????????????????????????????????????? -->
				<span id="datac1" style="display: none">
				          <div align="center">
<!--START hidden table-->
						<form action="advanced_search_RESULTS.asp?question1=2" method="post">
							<table> ...

/A

BABBAMedlem sedan feb. 2000280 inlägg
#2

Om du vill sniffa upp vilken browser (osv) användaren har kan man göra på flera sätt.
Dan Steinman har browser-sniffer kod gratis och hans används flitigt (svt.se bl.a.)

Ladda ner från:
http://www.dansteinman.com/dynapi/js/browsercheck.js

Och lär dig hur du använder det på:
http://www.dansteinman.com/dynduo/en/browsercheck.html

Annars kan du alltid köra:

if(document.layers){
//do NS code
}
if(document.all){
//do ie code
}

Men ovanstående metod är förmodligen inte ISO-standard..

annesophieMedlem sedan juni 20012 236 inlägg
#3

Hmm tack...

BABBAMedlem sedan feb. 2000280 inlägg
#4

du annesophie?

jag har kollat lite på din kod..allt det där går att göra med dhtml istället för med VB script. Varför kör du med det för?

Du kanske kan använda ngt sånt här för att toggla mellan visible/hidden (ej kollad kod):

<script language="javascript">

function browser()
{
	this.ie = (document.all) ? 1:0;
	this.ns = (document.layers) ? 1:0;
}

function obj(id)
{
	if(is.ns)
		return eval("document.layers['"+id+"']");
	if(is.ie)
		return eval("document.all['"+id+"'].style");
}

function pop(id)
{
	if(is.ie){
		show = "visible";
		hide = "hidden";
	}

	if(is.ns){
		show = "show";
		hide = "hide";
	}

	(obj(id).visibility==show) ? obj(id).visibility=hide : obj(id).visibility=show;
}

is = new browser();

</script>
tohaMedlem sedan dec. 1999707 inlägg
#5

Nästan samma funktionalitet med mindre kodmassa... :OO

<script language="javascript">

var isIE = (document.all);

function obj(id)
{
	return (isIE) ? document.all[id].style : document.layers[id];
}

function pop(id)
{
	show = (isIE) ? "visible" : "show";
	hide = (isIE) ? "hidden" : "hide";
	(obj(id).visibility == show) ? obj(id).visibility = hide : obj(id).visibility = show;
}

</script>
244 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
121 ms — hämta statistik (db)
121 ms — hämta tråd, inlägg och bilagor (db)