Dropdownmenu soll 3-frames seite öffnen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • antwortet
    Problem

    tja irgendwie kriege ich das nicht hin,

    Das ist der Code um 2 Frames zu laden:

    <script language="JavaScript">
    <!--
    function start()
    {

    parent.frame_right.location = "01.01.01.doc;

    parent.frame_top.location = "frametop2.htm";

    }

    function start2()
    {

    parent.frame_right.location = "01.01.02.doc";

    parent.frame_top.location = "frametop.htm";

    }


    --></script>
    </head>

    <body>

    <p><a href="javascript:start()"><big><big>Link 1<br>
    </big></big></a></p>

    <p><a href="javascript:start2()"><big><big>Link 2</big></big></a></p>


    und das ist der Code vom ExplorerMenu:

    function Folder(folderDescription, hreference) //constructor

    {

    //constant data

    this.desc = folderDescription

    this.hreference = hreference

    this.id = -1

    this.navObj = 0

    this.iconImg = 0

    this.nodeImg = 0

    this.isLastNode = 0



    //dynamic data

    this.isOpen = true

    this.iconSrc = "ftv2folderopen.gif"

    this.children = new Array

    this.nChildren = 0



    //methods

    this.initialize = initializeFolder

    this.setState = setStateFolder

    this.addChild = addChild

    this.createIndex = createEntryIndex

    this.hide = hideFolder

    this.display = display

    this.renderOb = drawFolder

    this.totalHeight = totalHeight

    this.subEntries = folderSubEntries

    this.outputLink = outputFolderLink

    }



    function setStateFolder(isOpen)

    {

    var subEntries

    var totalHeight

    var fIt = 0

    var i=0



    if (isOpen == this.isOpen)

    return



    if (browserVersion == 2)

    {

    totalHeight = 0

    for (i=0; i < this.nChildren; i++)

    totalHeight = totalHeight + this.children[i].navObj.clip.height

    subEntries = this.subEntries()

    if (this.isOpen)

    totalHeight = 0 - totalHeight

    for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++)

    indexOfEntries[fIt].navObj.moveBy(0, totalHeight)

    }

    this.isOpen = isOpen

    propagateChangesInState(this)

    }



    function propagateChangesInState(folder)

    {

    var i=0



    if (folder.isOpen)

    {

    if (folder.nodeImg)

    if (folder.isLastNode)

    folder.nodeImg.src = "ftv2mlastnode.gif"

    else

    folder.nodeImg.src = "ftv2mnode.gif"

    folder.iconImg.src = "ftv2folderopen.gif"

    for (i=0; i<folder.nChildren; i++)

    folder.children[i].display()

    }

    else

    {

    if (folder.nodeImg)

    if (folder.isLastNode)

    folder.nodeImg.src = "ftv2plastnode.gif"

    else

    folder.nodeImg.src = "ftv2pnode.gif"

    folder.iconImg.src = "ftv2folderclosed.gif"

    for (i=0; i<folder.nChildren; i++)

    folder.children[i].hide()

    }

    }



    function hideFolder()

    {

    if (browserVersion == 1) {

    if (this.navObj.style.display == "none")

    return

    this.navObj.style.display = "none"

    } else {

    if (this.navObj.visibility == "hiden")

    return

    this.navObj.visibility = "hiden"

    }



    this.setState(0)

    }



    function initializeFolder(level, lastNode, leftSide)

    {

    var j=0

    var i=0

    var numberOfFolders

    var numberOfDocs

    var nc



    nc = this.nChildren



    this.createIndex()



    var auxEv = ""



    if (browserVersion > 0)

    auxEv = "<a href='javascript:clickOnNode("+this.id+")'>"

    else

    auxEv = "<a>"



    if (level>0)

    if (lastNode) //the last 'brother' in the children array

    {

    this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.gif' width=16 height=22 border=0></a>")

    leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"

    this.isLastNode = 1

    }

    else

    {

    this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.gif' width=16 height=22 border=0></a>")

    leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>"

    this.isLastNode = 0

    }

    else

    this.renderOb("")



    if (nc > 0)

    {

    level = level + 1

    for (i=0 ; i < this.nChildren; i++)

    {

    if (i == this.nChildren-1)

    this.children[i].initialize(level, 1, leftSide)

    else

    this.children[i].initialize(level, 0, leftSide)

    }

    }

    }



    function drawFolder(leftSide)

    {

    if (browserVersion == 2) {

    if (!doc.yPos)

    doc.yPos=8

    doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hiden>")

    }



    doc.write("<table ")

    if (browserVersion == 1)

    doc.write(" id='folder" + this.id + "' style='position:block;' ")

    doc.write(" border=0 cellspacing=0 cellpadding=0>")

    doc.write("<tr><td>")

    doc.write(leftSide)

    this.outputLink()

    doc.write("<img name='folderIcon" + this.id + "' ")

    doc.write("src='" + this.iconSrc+"' border=0></a>")

    doc.write("</td><td valign=middle nowrap>")

    if (USETEXTLINKS)

    {

    this.outputLink()

    doc.write(this.desc + "</a>")

    }

    else

    doc.write(this.desc)

    doc.write("</td>")

    doc.write("</table>")



    if (browserVersion == 2) {

    doc.write("</layer>")

    }



    if (browserVersion == 1) {

    this.navObj = doc.all["folder"+this.id]

    this.iconImg = doc.all["folderIcon"+this.id]

    this.nodeImg = doc.all["nodeIcon"+this.id]

    } else if (browserVersion == 2) {

    this.navObj = doc.layers["folder"+this.id]

    this.iconImg = this.navObj.document.images["folderIcon"+this.id]

    this.nodeImg = this.navObj.document.images["nodeIcon"+this.id]

    doc.yPos=doc.yPos+this.navObj.clip.height

    }

    }



    function outputFolderLink()

    {

    if (this.hreference)

    {

    doc.write("<a href='" + this.hreference + "' TARGET=\"basefrm\" ")

    if (browserVersion > 0)

    doc.write("onClick='javascript:clickOnFolder("+this.id+")'")

    doc.write(">")

    }

    else

    doc.write("<a>")

    // doc.write("<a href='javascript:clickOnFolder("+this.id+")'>")

    }



    function addChild(childNode)

    {

    this.children[this.nChildren] = childNode

    this.nChildren++

    return childNode

    }



    function folderSubEntries()

    {

    var i = 0

    var se = this.nChildren



    for (i=0; i < this.nChildren; i++){

    if (this.children[i].children) //is a folder

    se = se + this.children[i].subEntries()

    }



    return se

    }





    // Definition of class Item (a document or link inside a Folder)

    // *************************************************************



    function Item(itemDescription, itemLink) // Constructor

    {

    // constant data

    this.desc = itemDescription

    this.link = itemLink

    this.id = -1 //initialized in initalize()

    this.navObj = 0 //initialized in render()

    this.iconImg = 0 //initialized in render()

    this.iconSrc = "ftv2doc.gif"



    // methods

    this.initialize = initializeItem

    this.createIndex = createEntryIndex

    this.hide = hideItem

    this.display = display

    this.renderOb = drawItem

    this.totalHeight = totalHeight

    }



    function hideItem()

    {

    if (browserVersion == 1) {

    if (this.navObj.style.display == "none")

    return

    this.navObj.style.display = "none"

    } else {

    if (this.navObj.visibility == "hiden")

    return

    this.navObj.visibility = "hiden"

    }

    }



    function initializeItem(level, lastNode, leftSide)

    {

    this.createIndex()



    if (level>0)

    if (lastNode) //the last 'brother' in the children array

    {

    this.renderOb(leftSide + "<img src='ftv2lastnode.gif' width=16 height=22>")

    leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"

    }

    else

    {

    this.renderOb(leftSide + "<img src='ftv2node.gif' width=16 height=22>")

    leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>"

    }

    else

    this.renderOb("")

    }



    function drawItem(leftSide)

    {

    if (browserVersion == 2)

    doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hiden>")



    doc.write("<table ")

    if (browserVersion == 1)

    doc.write(" id='item" + this.id + "' style='position:block;' ")

    doc.write(" border=0 cellspacing=0 cellpadding=0>")

    doc.write("<tr><td>")

    doc.write(leftSide)

    doc.write("<a href=" + this.link + ">")

    doc.write("<img id='itemIcon"+this.id+"' ")

    doc.write("src='"+this.iconSrc+"' border=0>")

    doc.write("</a>")

    doc.write("</td><td valign=middle nowrap>")

    if (USETEXTLINKS)

    doc.write("<a href=" + this.link + ">" + this.desc + "</a>")

    else

    doc.write(this.desc)

    doc.write("</table>")



    if (browserVersion == 2)

    doc.write("</layer>")



    if (browserVersion == 1) {

    this.navObj = doc.all["item"+this.id]

    this.iconImg = doc.all["itemIcon"+this.id]

    } else if (browserVersion == 2) {

    this.navObj = doc.layers["item"+this.id]

    this.iconImg = this.navObj.document.images["itemIcon"+this.id]

    doc.yPos=doc.yPos+this.navObj.clip.height

    }

    }





    // Methods common to both objects (pseudo-inheritance)

    // ********************************************************



    function display()

    {

    if (browserVersion == 1)

    this.navObj.style.display = "block"

    else

    this.navObj.visibility = "show"

    }



    function createEntryIndex()

    {

    this.id = nEntries

    indexOfEntries[nEntries] = this

    nEntries++

    }



    // total height of subEntries open

    function totalHeight() //used with browserVersion == 2

    {

    var h = this.navObj.clip.height

    var i = 0



    if (this.isOpen) //is a folder and _is_ open

    for (i=0 ; i < this.nChildren; i++)

    h = h + this.children[i].totalHeight()



    return h

    }





    // Events

    // *********************************************************



    function clickOnFolder(folderId)

    {

    var clicked = indexOfEntries[folderId]



    if (!clicked.isOpen)

    clickOnNode(folderId)



    return



    if (clicked.isSelected)

    return

    }



    function clickOnNode(folderId)

    {

    var clickedFolder = 0

    var state = 0



    clickedFolder = indexOfEntries[folderId]

    state = clickedFolder.isOpen



    clickedFolder.setState(!state) //open<->close

    }



    function initializeDocument()

    {

    if (doc.all)

    browserVersion = 1 //IE4

    else

    if (doc.layers)

    browserVersion = 2 //NS4

    else

    browserVersion = 0 //other



    foldersTree.initialize(0, 1, "")

    foldersTree.display()



    if (browserVersion > 0)

    {

    doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>")



    // close the whole tree

    clickOnNode(0)

    // open the root folder

    clickOnNode(0)

    }

    }



    // Auxiliary Functions for Folder-Treee backward compatibility

    // *********************************************************



    function gFld(description, hreference)

    {

    folder = new Folder(description, hreference)

    return folder

    }



    function gLnk(target, description, linkData)

    {

    fullLink = ""



    if (target==0)

    {

    fullLink = "'"+linkData+"' target=\"basefrm\""

    }

    else

    {

    if (target==1)

    fullLink = "'../bereichshandbuch/"+linkData+"' target=_blank"

    else

    fullLink = "'../bereichshandbuch/"+linkData+"' target=\"basefrm\""

    }



    linkItem = new Item(description, fullLink)

    return linkItem

    }



    function insFld(parentFolder, childFolder)
    {
    return parentFolder.addChild(childFolder)
    }

    function insDoc(parentFolder, document)
    {
    parentFolder.addChild(document)
    }



    // Global variables

    // ****************



    USETEXTLINKS = 0
    indexOfEntries = new Array
    nEntries = 0
    doc = document
    browserVersion = 0
    selectedFolder=0

    so wie kriege ich jetzt das Frameladezeugs darein??

    Einen Kommentar schreiben:


  • antwortet
    also...

    ich hab jetzt ein Script gefunden mit dem ich zwei seiten laden kann mal sehen ob ichs hinkriege das für mich zuverwenden ansonsten frage ich noch mal....

    Gruß

    Verena

    Einen Kommentar schreiben:


  • antwortet
    Hast du PHP zur Verfügung?

    Wenn ja, kannst du die Auswahl auf der ersten Seite in der Folge-PHP-Seite verarbeiten -> Frameset, in dem du die 3 Dateien mit den Informationen versorgst bzw. je nach Wahl z.B. in das eine Frame ne andere Navigation reinlädst.

    Falls du nur Javascript hast, wird's komplizierter. Mal schauen, äh, am besten du hast ein Formular in deiner Startseite (bei PHP-Variante sowieso auch) -> allerdings mußt du beim Submit nicht das Formular senden, sondern ne Funktion aufrufen, die dir je nach Wahl ein anderes Frameset aufruft. Viele Themen, viele Seiten. Ist ziemlich doofe Lösung.
    Aber deshalb gibt's ja auch PHP :-))

    Einen Kommentar schreiben:


  • Aroree
    hat ein Thema erstellt Dropdownmenu soll 3-frames seite öffnen.

    Dropdownmenu soll 3-frames seite öffnen

    Hi Leute

    folgendes ich will auf der Eingangseite ein Dropdownmenu machen bei dem ich ein Thema auswählen kann und dann soll eine neue Seite geöffnet werden bei dem der obere Frame das Thema anzeigt der rechte Frame den Inhalt und der linke Frame die Navigationsleiste, weiß jemand wie ich sowas realisieren kann??

    Wenn ja bitte melden!!!


    Liebe Grüße

    Verena
Lädt...
X