tleeMedlem sedan mars 2001293 inlägg
Hej,
hittade ett script här på wf som jag behöver ändra lite på.
<html>
<head>
<script language="javascript" type="text/javascript">
function parseQuery(){
if (location.search) {
var params = location.search.substring(1, location.search.length).split('&');
var result = new Array ();
for (k in params) {
queryparts=params[k].split('=');
eval('result.' + queryparts[0] + ' = "' + queryparts[1] + '"');
}
return result;
}
return new Array();
}
p = parseQuery();
if (p["activeitem"])
activeitem = p["activeitem"];
else
activeitem = "btn0";
</script>
<script>
function gotoPage(frameTop, frameMenu, frameMain, frameBottom)
{
if (frameTop) { parent.frames['top'].location = frameTop; }
if (frameMenu) { parent.frames['menu'].location = frameMenu; }
if (frameMain) { parent.frames['main'].location = frameMain; }
if (frameBottom) { parent.frames['bottom'].location = frameBottom; }
}
imageList=[];
function loadImage(name, imageOn, imageOut, imageAct){
imageList[name] = []
imageList[name].imageon = new Image();
imageList[name].imageon.src = imageOn;
imageList[name].imageout = new Image();
imageList[name].imageout.src = imageOut;
imageList[name].imageact = new Image();
imageList[name].imageact.src = imageAct;
cImg = (name == activeitem) ? imageList[name].imageact.src : imageList[name].imageout.src;
//document.write ('<a href="?activeitem=' + name + '" onmouseover="hoverImage(\'' + name + '\');" onmouseout="hoverImage(\'\')" ><img border="0" name="' + name + '" src="' + cImg + '" /></a>');
document.write ('<a href=# OnClick="gotoPage('<a href="?activeitem=' + name + '"', '/_shop/menu.asp','/_shop/main.asp','/_shop/cart_view.asp')" onmouseover="hoverImage(\'' + name + '\');" onmouseout="hoverImage(\'\')" ><img border="0" name="' + name + '" src="' + cImg + '" /></a>');
}
function hoverImage(name){
for (i in imageList)
if (i!=activeitem)
if (i==name)
document.images[i].src = imageList[i].imageon.src;
else
document.images[i].src = imageList[i].imageout.src;
}
</script>
<script>
loadImage("btn0","btn1_on.gif", "btn1_off.gif", "btn1_on.gif");
loadImage("btn1","btn2_on.gif", "btn2_off.gif", "btn2_on.gif");
loadImage("btn2","btn3_on.gif", "btn3_off.gif", "btn3_on.gif");
</script>
</head>
<body style="margin-top:4; margin-left:0" background=/images/top.gif>
Jag har lagt in funktionen gotoPage(), raden ovanför anropet är originalraden på hur anropet sker.. jag fattar inte vad som är fel..
Peter SMedlem sedan dec. 20025 484 inlägg
Hej!
Så här kanske:
function loadImage(name, imageOn, imageOut, imageAct){
imageList[name] = {};
imageList[name].imageon = new Image();
imageList[name].imageon.src = imageOn;
imageList[name].imageout = new Image();
imageList[name].imageout.src = imageOut;
imageList[name].imageact = new Image();
imageList[name].imageact.src = imageAct;
cImg = (name == activeitem) ? imageList[name].imageact.src : imageList[name].imageout.src;
document.write('<a href="#" onclick="gotoPage(\'?activeitem='+ name +'\', \'/_shop/menu.asp\', \'/_shop/main.asp\', \'/_shop/cart_view.asp\')" onmouseover="hoverImage(\''+ name +'\')" onmouseout="hoverImage(\'\')"><img border="0" name="' + name + '" src="' + cImg + '"></a>');
}
tleeMedlem sedan mars 2001293 inlägg
tjena.. kanske kan funka.. jag får dock ett fel på rad 91 och den ser ut såhär
loadImage("btn0
","images_menu/btn1_on.gif", "images_menu/btn1_off.gif", "images_menu/btn1_on.gif");
anropet ligger innanför en script tag.. så det borde funka..
"Ett objekt förväntas" lyder felmeddelandet
Peter SMedlem sedan dec. 20025 484 inlägg
Följande kod får jag inga felmeddelanden med:
<html>
<head>
<script language="javascript" type="text/javascript">
function parseQuery(){
if (location.search) {
var params = location.search.substring(1, location.search.length).split('&');
var result = new Array ();
for (k in params) {
queryparts=params[k].split('=');
eval('result.' + queryparts[0] + ' = "' + queryparts[1] + '"');
}
return result;
}
return new Array();
}
p = parseQuery();
if (p["activeitem"])
activeitem = p["activeitem"];
else
activeitem = "btn0";
</script>
<script>
function gotoPage(frameTop, frameMenu, frameMain, frameBottom)
{
if (frameTop) { parent.frames['top'].location = frameTop; }
if (frameMenu) { parent.frames['menu'].location = frameMenu; }
if (frameMain) { parent.frames['main'].location = frameMain; }
if (frameBottom) { parent.frames['bottom'].location = frameBottom; }
}
imageList=[];
function loadImage(name, imageOn, imageOut, imageAct){
imageList[name] = {};
imageList[name].imageon = new Image();
imageList[name].imageon.src = imageOn;
imageList[name].imageout = new Image();
imageList[name].imageout.src = imageOut;
imageList[name].imageact = new Image();
imageList[name].imageact.src = imageAct;
cImg = (name == activeitem) ? imageList[name].imageact.src : imageList[name].imageout.src;
document.write('<a href="gotoPage(\'?activeitem='+ name +'\', \'/_shop/menu.asp\', \'/_shop/main.asp\', \'/_shop/cart_view.asp\')" onmouseover="hoverImage(\''+ name +'\')" onmouseout="hoverImage(\'\')"><img border="0" name="' + name + '" src="' + cImg + '"></a>');
}
function hoverImage(name){
for (i in imageList)
if (i!=activeitem)
if (i==name)
document.images[i].src = imageList[i].imageon.src;
else
document.images[i].src = imageList[i].imageout.src;
}
</script>
<script>
loadImage("btn0","btn1_on.gif", "btn1_off.gif", "btn1_on.gif");
loadImage("btn1","btn2_on.gif", "btn2_off.gif", "btn2_on.gif");
loadImage("btn2","btn3_on.gif", "btn3_off.gif", "btn3_on.gif");
</script>
</head>
<body style="margin-top:4; margin-left:0" background=/images/top.gif>
tleeMedlem sedan mars 2001293 inlägg
nej det fungerar.. var jag som hade missat.. problemet är att länkarna inte fungerar.. trycker jag på knappen så laddar han om sidan i den aktuella framen bara.... testa på
http://www.arlec.com/frame.asp
Peter SMedlem sedan dec. 20025 484 inlägg
Problemet är att din toppram heter "top". I JavaScript syftar "top" på det fönster högst upp i fönsterhierarkin. Med andra ord är parent.frames["top"] ekvivalent med parent.top, vilket gör att toppramen laddas med menysidan.
Lösningen är alltså att byta namn. :)
tleeMedlem sedan mars 2001293 inlägg
hehe sedär sedär.. jag tackar och bockar! :)
men det funkar fortfarande inte..det är bättre men det verkar som han inte kör funktionen utan postar submitar hela länken eller nått.. istället för att ladda om en frame laddar den allihopa med olika sidor istället..
återigen https://www.arlec.com/frame.asp klicka i menyn för exempel.
Peter SMedlem sedan dec. 20025 484 inlägg
Jag förstår inte riktigt vad problemet är. Vilken funktion är det som inte körs menar du? gotoPage() är ju definierad så att den laddar nya sidor i samtliga 4 ramar.
Nu visas förresten inte menyn överhuvudtaget, eftersom det fattas ett "\" före apostrofen efter "menu.asp" i document.write()-satsen.
tleeMedlem sedan mars 2001293 inlägg
okej.. jag har fixat det nu .. :) du skall ha stort tack!