Dropdownmenu soll 3-frames seite öffnen

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

  • #16
    ich mail dir den mal dann hast du den kompletten Code

    Kommentar


    • #17
      argh du hast ja gar keine mailaddi angegeben

      Kommentar


      • #18
        Hier der Code des menus:

        //****************************************************************
        // You are free to copy the "Folder-Tree" script as long as you // keep this copyright notice:
        // Script found in: http://www.geocities.com/Paris/LeftBank/2178/
        // Author: Marcelino Alves Martins (martins@hks.com) December '97.
        //****************************************************************

        // Definition of class Folder

        // *****************************************************************
        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 = ""
        switch (target) {
        case 0:
        fullLink = "'"+linkData+"' target=\"basefrm\"";
        break;
        case 1:
        fullLink = "'../bereichshandbuch/"+linkData+"' target=_blank";
        break;
        case 3:
        fullLink="'"+linkData+"' target=\"basefrm\"";
        break;
        default:
        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 = 1
        indexOfEntries = new Array
        nEntries = 0
        doc = document
        browserVersion = 0
        selectedFolder=0

        hier der code für die Navigation

        foldersTree = gFld("<i>Bereichshandbuch</i>")
        aux1 = insFld(foldersTree, gFld("Projektvorbereitung",""))
        insDoc(aux1, gLnk(3, "01.01.01", "javascriptarent.parent.frames.frame_top.location.href=\"frametop2.htm\"; parent.frames.basefrm.location.href=\"../bereichshandbuch/01.01.01.doc\"; "))
        insDoc(aux1, gLnk(3, "01.01.02", "javascriptarent.frames.frame_top.location.href=\"frametop.htm\"; parent.frames.basefrm.location.href=\"../bereichshandbuch/01.01.02.doc\";"))
        insDoc(aux1, gLnk(3, "01.01.03", "javascriptarent.frames.frame_top.location.href=\"frametop.htm\"; parent.frames.basefrm.location.href=\"../bereichshandbuch/01.01.03.doc\"; "))
        insDoc(aux1, gLnk(3, "01.01.04", "javascriptarent.frames.frame_top.location.href=\"frametop2.htm\"; parent.frames.basefrm.location.href=\"../bereichshandbuch/01.01.04.doc\";"))

        ...beliebig erweiterbar.

        so das problem ist er lädt bei mir IE 5.5
        den oberen Frame nicht wenn ich im Menu einen Punkt anklicke
        als wenn er es nicht finden würde obwohl es im gleichen Ordner liegt. Das Doc öffnet er, aber den oberen Frame nicht
        kann das irgendwie damit zusammenhängen das auf der Startseite ein neues Frameset erstellt wird?
        ich komme auf jedenfall nicht weiter...

        Gruß

        Verena

        Kommentar


        • #19
          Immer locker bleiben. Obwohl, herrje, du hättest nicht gleich den gaaaanzen Code bringen müssen. Hätte auch der Schluß gereicht.

          In dem letzten Teil ist ja wohl in jeder Zeile eine andere Referenzierung des Top-Frames drin.
          Also, bei mir klappt's prima, wenn ich über

          javascriptarent.frame_top.document.location.href='datei.htm'

          die sache aufrufe. Direkt nach parent also den Framenamen, dann erstmal das Dokument des Frames ansprechen und letztendlich auf die Location des Dokuments zugreifen und neuladen.

          Sollte nun auch bei dir klappen. Falls nicht, schreib doch lieber erstmal eine kurze Antwort, vielleicht reicht mir das ja auch schon aus... :-))

          Kommentar

          Lädt...
          X