webForumDet fria alternativet
Logga in / Bli medlem

Resizable frameset

JavaScript

2 svar · 175 visningar · startad av annesophie

Medlem sedan juni 20012 236 inlägg
Trådstart#1

Hej,

Har följande delikata problem som driver mig till vansinne... :(

Har en sida som är byggd i frames. Framsetet är helt ok och allt skulle vara bra om det inte vore så att produktchefen nu vill ha mer plats - men bara på produktsidorna... Resten av sidan funkar ok med det existerande framesetet.

Framesetet ser ut som följande:

[1]
<frameset rows="*,43,206,10,300,*" border="0" frameborder="0" framespacing="0">
	<frame name="frame" src="documents/tom.html" id="frame" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
	<frame name="frmMenu" src="documents/menu.asp" id="frmMenu" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
	<frame name="frmImage" src="documents/ImageMainPreload.html" id="frmImage" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
	<frame name="frmdots" src="documents/dots.html" id="frmdots" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
	<frame name="frmMain" src="documents/main.asp" id="frmMain" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" noresize>
	<frame name="frame" src="documents/about.html" id="frame" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize>
</frameset>
[/1]

Som ni ser ligger menyn i en frame (frmMenu) men öppnar innehållet i en annan - frmMain. Kan man på något sätt skapa någon typ av funktion som gör:

Om klick på tex val 1, 2 och 3 i produktdelen av menyn då resize frameset rows till: "*,43,100,10,406,*" istället för "*,43,206,10,300,*" annars använd framesetet som vanligt?

Lite av problemet är ju att alla andra sidor måste fortfarande använda "orginal framesetet"...det är just bara ett fåtal sidor som skall köra "version 2". Om man sedan går tillbaka från "version 2" så måste ju naturligtvis orginal framesetet gälla.

Jag har kört fast och får det inte att fungera. Vet inte ens om det är möjligt... Har ni några tips, förslag eller synpunkter...eller bara VET att detta aldrig kommer kunna lösas...så mottages detta t-a-c-k-s-a-m-t! :)

/A

Medlem sedan dec. 20025 483 inlägg
#2

Exempel:

index-sidan:

<head>

<script type="text/javascript">
<!--

var n1 = "*,43,206,10,300,*";
var n2 = "*,43,100,10,406,*";

function expand(h, b){
	if(!b && self.frames["holder"].rows != n1)
		self.frames["holder"].rows = n1;
	if(b && self.frames["holder"].rows != n2)
		self.frames["holder"].rows = n2;

	self.frames["frmMain"].location.href = h;
};

//-->
</script>

</head>

<frameset name="holder" rows="*,43,206,10,300,*" border="1" frameborder="1" framespacing="0">
	<frame name="frame" src="documents/tom.html" id="frame" marginwidth="0" marginheight="0" scrolling="no" frameborder="1" noresize>
	<frame name="frmMenu" src="documents/menu.asp" id="frmMenu" marginwidth="0" marginheight="0" scrolling="no" frameborder="1" noresize>
	<frame name="frmImage" src="documents/ImageMainPreload.html" id="frmImage" marginwidth="0" marginheight="0" scrolling="no" frameborder="1" noresize>
	<frame name="frmdots" src="documents/dots.html" id="frmdots" marginwidth="0" marginheight="0" scrolling="no" frameborder="1" noresize>
	<frame name="frmMain" src="documents/main.asp" id="frmMain" marginwidth="0" marginheight="0" scrolling="auto" frameborder="1" noresize>
	<frame name="frame" src="documents/about.html" id="frame" marginwidth="0" marginheight="0" scrolling="no" frameborder="1" noresize>
</frameset>

Valen i produktdelen:

...
<a href="prod1.html" onclick="parent.expand(this.href, true); return false" target="frmMain">Produkt 1</a>
<a href="prod2.html" onclick="parent.expand(this.href, false); return false" target="frmMain">Produkt 2</a>
<a href="prod3.html" onclick="parent.expand(this.href, true); return false" target="frmMain">Produkt 3</a>
...

Om den specifika produktsidan (ovan "prod1.html" och "prod3.html") kräver att ramen expanderas så skall det andra argumentet till funktionen expand() vara true, annars (ovan "prod2.html") false.

:)

Medlem sedan juni 20012 236 inlägg
#3

Oj oj oj...vad kan jag säga...mer än STOR TACK! :birp :birp :birp

Skall testa genast!

/A :)

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