Avatar billede friiser Nybegynder
21. maj 2000 - 20:45 Der er 10 kommentarer og
1 løsning

Problemer med frames.....

Hej...

Prøv af klikke ind på :

http://www.lgk.cph.ih.dk/userhp/86

Jeg har en side med frames. Når man går ind i butikken, og klikker imellem " Buy Amour " og Buy Callaway " så kommer bund framen igen 2 gange, hvorfor kan dette være ?
Avatar billede nielsbjerre Nybegynder
21. maj 2000 - 21:02 #1
Jeg kan ikke se din kode som ligger i js'en men det ser umiddelbart ud som om du indlæser både ny hovedramme + bundramme i selve den gamle hovedramme i stedet for at indlæse ny hovedramme i den gamle hovedramme og ny bundramme i den gamle bundramme. prøv at checke dine target rammer ...
Avatar billede friiser Nybegynder
21. maj 2000 - 21:04 #2
Hvad mener du med js'en ?

Skal du se noget kode ?
Avatar billede friiser Nybegynder
21. maj 2000 - 21:06 #3
Main framens kode :

<HTML>
<HEAD>
<TITLE>Shopping Items</TITLE>
<base target="_self">
</HEAD>
<BODY bgcolor="#000000" text="#FFFFFF">
<h2><!--webbot bot="HTMLMarkup" startspan --><style>
<!--
all.clsMenuItemNS{font: bold x-small Verdana; color: white; text-decoration: none;}
.clsMenuItemIE{text-decoration: none; font: bold xx-small Verdana; color: white; cursor: hand;}
A:hover {color: red;}
-->
</style><!--webbot bot="HTMLMarkup" endspan --><!--webbot bot="HTMLMarkup" startspan --><script language="JavaScript" src="menu.js">
/*
Static Top Menu Script
By Constantin Kuznetsov Jr. (GoldenFox@bigfoot.com)
Featured on Dynamicdrive.com
For full source code and installation instructions to this script, visit Dynamicdrive.com
*/
</script>
<script language="JavaScript" src="menucontext.js"></script>
<script language="JavaScript">
showToolbar();
</script>
<script language="JavaScript">
function UpdateIt(){
if (document.all){
document.all["MainTable"].style.top = document.body.scrollTop;
setTimeout("UpdateIt()", 200);
}
}
UpdateIt();
</script><!--webbot bot="HTMLMarkup" endspan -->
</h2>
<p>
<FORM NAME="itemsform">

<!-- Put items in a table -->

<table>
<tr><th align=left>Item</th><th>Quantity</th></tr>
<tr><td>Vare nummer 1</td><td>

<!-- Display quantity box -->

<INPUT TYPE="value" NAME="cbtquant" VALUE="1" SIZE=3>
</td><td>

<!-- Display button that calls buyItem() -->

<IMG src="kurv.gif" onclick="top.menu.buyItem('Chemical Brothers T-Shirt','0.45', document.itemsform.cbtquant.value)" width="28" height="27">
</td></tr>

<!-- Same as above for any other items, just remember to -->
<!-- change the input names etc.                        -->

<tr><td>Vare nummer 2</td><td>
<INPUT TYPE="value" NAME="pkdquant" VALUE="1" SIZE=3>
</td><td>
<IMG src="kurv.gif" onclick="top.menu.buyItem('A Positive Life', '1000.45', document.itemsform.aplquant.value)" </tr width="28" height="27">
<tr><td>Vare nummer 3</td><td>
<INPUT TYPE="value" NAME="aplquant" VALUE="1" SIZE=3>
</td><td>
<IMG src="kurv.gif" onclick="top.menu.buyItem('A Positive Life', '1000.45', document.itemsform.aplquant.value)" width="28" height="27">
</td></tr>

</TABLE>
</BODY>
</HTML>


Bund framens kode :

<HTML>
<HEAD>
<TITLE>Shopping Menu</TITLE>
<base target="_self">
</HEAD>

<BODY bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<center>
<SCRIPT LANGUAGE="JavaScript">

    // alterError - fixes a rounding bug in Netscape 2
    function alterError(value) {
        if (value<=0.99) {
            newPounds = '0';
        } else {
            newPounds = parseInt(value);
        }
        newPence = parseInt((value+.0008 - newPounds)* 100);
        if (eval(newPence) <= 9) newPence='0'+newPence;
        newString = newPounds + '.' + newPence;
        return (newString);
    }

    // buyItem - adds an item to the shooping basket
    function buyItem(newItem, newPrice, newQuantity) {
        if (newQuantity <= 0) {
            rc = alert('The quantity entered is incorrect');
        } else {
            if (confirm('Add '+newQuantity+' x '+newItem+' to basket')) {
                index = document.cookie.indexOf("TheBasket");
                countbegin = (document.cookie.indexOf("=", index) + 1);
                    countend = document.cookie.indexOf(";", index);
                    if (countend == -1) {
                            countend = document.cookie.length;
                    }
                        document.cookie="TheBasket="+document.cookie.substring(countbegin, countend)+"["+newItem+"|"+newPrice+"|"+newQuantity+"]";
            }
        }
    }

    // resetShoppingBasket - resets to shopping basket to empty
    function resetShoppingBasket() {
        index = document.cookie.indexOf("TheBasket");
        document.cookie="TheBasket=.";
    }
</SCRIPT>
<a href="bbasket.htm" target="main">Check Basket</a> |
<a href="bbuy.htm" target="main">Buy Goods</a><br>
</form>
<script language="JavaScript">resetShoppingBasket()</SCRIPT>
</center>
</BODY>
</HTML>


Hvad er forkert ?????
Avatar billede nielsbjerre Nybegynder
21. maj 2000 - 22:01 #4
Jeg er ikke ekspert nok til at kunne gennemskue koden og så vidt jeg kan har du ikke den øverste menukode med, der hvor du vælger det ene produkt eller det andet - det der sker er at du skifter de to nye rammer (produkt og kurv) ind i hovedrammen i stedet for produkt i produktramme og kurv i kurverammen, så check lige for at den nye kurv virkelig går til bundrammen i stedet for. Og så må vi hellere koble de hårde drenge på ...
Avatar billede olebole Juniormester
21. maj 2000 - 22:03 #5
<ole>
Her er din menu.js. Jeg har rettet i den - check selv ved min kommentar:

if (document.all)    {n=0;ie=1;fShow="visible";fHide="hidden";}
if (document.layers) {n=1;ie=0;fShow="show";  fHide="hide";}

window.onerror=new Function("return true")
////////////////////////////////////////////////////////////////////////////
// Function Menu()                                                        //
////////////////////////////////////////////////////////////////////////////
rightX = 0;
function Menu()
{
    this.bgColor    = "#008080";
    if (ie) this.menuFont = "Ariel";
    if (n)  this.menuFont = "Ariel";
//    this.fontColor  = "white";

    this.addItem    = addItem;
    this.addSubItem = addSubItem;
    this.showMenu  = showMenu;
    this.mainPaneBorder = 1;
    this.subMenuPaneBorder = 1;

    this.subMenuPaneWidth = 150;

    lastMenu = null;
   
    rightY = 0;
    leftY = 0;
    leftX = 0;

    HTMLstr = "";
    HTMLstr += "<!-- MENU PANE DECLARATION BEGINS -->\n";
    HTMLstr += "\n";
    if (ie) HTMLstr += "<div id='MainTable' style='position:relative'>\n";
//    if (n)  HTMLstr += "<layer name='MainTable'>\n";
    HTMLstr += "<table width='100%' bgcolor='"+this.bgColor+"' border='"+this.mainPaneBorder+"'>\n";
    HTMLstr += "<tr>";
    if (n) HTMLstr += "<td>&nbsp;";
    HTMLstr += "<!-- MAIN MENU STARTS -->\n";
    HTMLstr += "<!-- MAIN_MENU -->\n";
    HTMLstr += "<!-- MAIN MENU ENDS -->\n";
    if (n) HTMLstr += "</td>";
    HTMLstr += "</tr>\n";
    HTMLstr += "</table>\n";
    HTMLstr += "\n";
    HTMLstr += "<!-- SUB MENU STARTS -->\n";
    HTMLstr += "<!-- SUB_MENU -->\n";
    HTMLstr += "<!-- SUB MENU ENDS -->\n";
    HTMLstr += "\n";
    if (ie) HTMLstr+= "</div>\n";
//    if (n)  HTMLstr+= "</layer>\n";
    HTMLstr += "<!-- MENU PANE DECALARATION ENDS -->\n";
}

function addItem(idItem, text, hint, location, altLocation)
{
    var Lookup = "<!-- ITEM "+idItem+" -->";
    if (HTMLstr.indexOf(Lookup) != -1)
    {
        alert(idParent + " already exist");
        return;
    }
    var MENUitem = "";
    MENUitem += "\n<!-- ITEM "+idItem+" -->\n";
    if (n)
    {
        MENUitem += "<ilayer name="+idItem+">";
        MENUitem += "<a href='.' class=clsMenuItemNS onmouseover=\"displaySubMenu('"+idItem+"')\" onclick=\"return false;\">";
        MENUitem += "|&nbsp;";
        MENUitem += text;
        MENUitem += "</a>";
        MENUitem += "</ilayer>";
    }
    if (ie)
    {
        MENUitem += "<td>\n";
        MENUitem += "<div id='"+idItem+"' style='position:relative; font: "+this.menuFont+";'>\n";
        MENUitem += "<a ";
        MENUitem += "class=clsMenuItemIE ";
//        MENUitem += "style='text-decoration: none; font: "+this.menuFont+"; color: "+this.fontColor+"; cursor: hand;' ";
        if (hint != null)
            MENUitem += "title='"+hint+"' ";
        if (location != null)
        {
            MENUitem += "href='"+location+"' ";
            MENUitem += "onmouseover=\"hideAll()\" ";
        }
        else
        {
            if (altLocation != null)
                MENUitem += "href='"+altLocation+"' ";
            else
                MENUitem += "href='.' ";
            MENUitem += "onmouseover=\"displaySubMenu('"+idItem+"')\" ";
            MENUitem += "onclick=\"return false;\" "
        }
        MENUitem += ">";
        MENUitem += "|&nbsp;\n";
        MENUitem += text;
        MENUitem += "</a>\n";
        MENUitem += "</div>\n";
        MENUitem += "</td>\n";
    }
    MENUitem += "<!-- END OF ITEM "+idItem+" -->\n\n";
    MENUitem += "<!-- MAIN_MENU -->\n";

    HTMLstr = HTMLstr.replace("<!-- MAIN_MENU -->\n", MENUitem);
}

function addSubItem(idParent, text, hint, location)
{
    var MENUitem = "";
    Lookup = "<!-- ITEM "+idParent+" -->";
    if (HTMLstr.indexOf(Lookup) == -1)
    {
        alert(idParent + " not found");
        return;
    }
    Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->";
    if (HTMLstr.indexOf(Lookup) == -1)
    {
        if (n)
        {
            MENUitem += "\n";
            MENUitem += "<layer id='"+idParent+"submenu' visibility=hide bgcolor='"+this.bgColor+"'>\n";
            MENUitem += "<table border='"+this.subMenuPaneBorder+"' bgcolor='"+this.bgColor+"' width="+this.subMenuPaneWidth+">\n";
            MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
            MENUitem += "</table>\n";
            MENUitem += "</layer>\n";
            MENUitem += "\n";
        }
        if (ie)
        {
            MENUitem += "\n";
            MENUitem += "<div id='"+idParent+"submenu' style='position:absolute; visibility: hidden; width: "+this.subMenuPaneWidth+"; font: "+this.menuFont+"; top: -300;'>\n";
            MENUitem += "<table border='"+this.subMenuPaneBorder+"' bgcolor='"+this.bgColor+"' width="+this.subMenuPaneWidth+">\n";
            MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
            MENUitem += "</table>\n";
            MENUitem += "</div>\n";
            MENUitem += "\n";
        }
        MENUitem += "<!-- SUB_MENU -->\n";
        HTMLstr = HTMLstr.replace("<!-- SUB_MENU -->\n", MENUitem);
    }

    Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
   
// **************************** I det to næste linier har jeg lagt en 'target=_top' ind.  [ olebole ] ***********************************
    if (n)  MENUitem = "<tr><td><a class=clsMenuItemNS title='"+hint+"' href='"+location+"' target='_top'>"+text+"</a><br></td></tr>\n";
    if (ie) MENUitem = "<tr><td><a class=clsMenuItemIE title='"+hint+"' href='"+location+"' target='_top'>"+text+"</a><br></td></tr>\n";
    MENUitem += Lookup;
    HTMLstr = HTMLstr.replace(Lookup, MENUitem);

}

function showMenu()
{
    document.writeln(HTMLstr);
}

////////////////////////////////////////////////////////////////////////////
// Private declaration
function displaySubMenu(idMainMenu)
{
    var menu;
    var submenu;
    if (n)
    {
        submenu = document.layers[idMainMenu+"submenu"];
        if (lastMenu != null && lastMenu != submenu) hideAll();
        submenu.left = document.layers[idMainMenu].pageX;
        submenu.top  = document.layers[idMainMenu].pageY + 25;
        submenu.visibility = fShow;

        leftX  = document.layers[idMainMenu+"submenu"].left;
        rightX = leftX + document.layers[idMainMenu+"submenu"].clip.width;
        leftY  = document.layers[idMainMenu+"submenu"].top+
            document.layers[idMainMenu+"submenu"].clip.height;
        rightY = leftY;
    } else if (ie) {
        menu = eval(idMainMenu);
        submenu = eval(idMainMenu+"submenu.style");
        submenu.left = calculateSumOffset(menu, 'offsetLeft');
//        submenu.top  = calculateSumOffset(menu, 'offsetTop') + 30;
        submenu.top  = menu.style.top+23;
        submenu.visibility = fShow;
        if (lastMenu != null && lastMenu != submenu) hideAll();

        leftX  = document.all[idMainMenu+"submenu"].style.posLeft;
        rightX = leftX + document.all[idMainMenu+"submenu"].offsetWidth;

        leftY  = document.all[idMainMenu+"submenu"].style.posTop+
            document.all[idMainMenu+"submenu"].offsetHeight;
        rightY = leftY;
    }
    lastMenu = submenu;
}

function hideAll()
{
    if (lastMenu != null) {lastMenu.visibility = fHide;lastMenu.left = 0;}
}

function calculateSumOffset(idItem, offsetName)
{
    var totalOffset = 0;
    var item = eval('idItem');
    do
    {
        totalOffset += eval('item.'+offsetName);
        item = eval('item.offsetParent');
    } while (item != null);
    return totalOffset;
}

function updateIt(e)
{
    if (ie)
    {
        var x = window.event.clientX;
        var y = window.event.clientY;

        if (x > rightX || x < leftX) All();
        else if (y > rightY) All();
    }
    if (n)
    {
        var x = e.pageX;
        var y = e.pageY;

        if (x > rightX || x < leftX) hideAll();
        else if (y > rightY) hideAll();
    }
}

if (document.all)
{
    document.body.onclick=hideAll;
    document.body.onscroll=hideAll;
    document.body.onmousemove=updateIt;
}
if (document.layers)
{
    document.onmousedown=hideAll;
    window.captureEvents(Event.MOUSEMOVE);
    window.onmousemove=updateIt;
}

/Vh
</bole>
Avatar billede olebole Juniormester
21. maj 2000 - 22:04 #6
Ja, koden fucker en del op i layout'et, men jeg håber du kan få hoved og hale på det ;-)
/Vh
Avatar billede friiser Nybegynder
21. maj 2000 - 22:10 #7
Jeg har ikke lige tid til at checke lige nu, vender tilbage i morgen, hvis det virker får du point OLE :)
Avatar billede olebole Juniormester
21. maj 2000 - 22:16 #8
Ellers må vi finde ud af, hvad der så kan gøres - men der hvor jeg har sat en target på, er der, hvor du skifter siden, så bare rolig...det skal nok funke ;-)
/Vh
Avatar billede olebole Juniormester
21. maj 2000 - 22:22 #9
For lige at forklare:
Det der skete var, at du loadede hele framesettet ind i den øverste frame af framesettet. Det betyder, at din bundframe blev liggende - derfor fik du to.
Nu loader den framesettet ind som det 'øverste'  - eller 'første' - dokument i vinduet.
Avatar billede friiser Nybegynder
22. maj 2000 - 19:56 #10
OLE... Du er for sej, det virker sku'

Jeg har også et problem med en form, den beskriver jeg lige om lidt der vil der også være 60 points at hente. Jeg håber du kan hjælpe mig :)
Avatar billede olebole Juniormester
22. maj 2000 - 20:02 #11
Anytime...!  ;-))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester