jQuery: so blenden Sie einen Rahmen auf die Eltern?
Habe ich die Hauptseite mit mehreren frames innerhalb des Framesets.
Einer der frames ist eine Symbolleiste mit Schaltflächen, ich möchte in der Lage sein, durch drücken einer Taste auf der Symbolleiste, und es wird gehen-und ausblenden eines der Bilder auf der Hauptseite.
Ich habe versucht, die folgenden aus der Symbolleiste Rahmen, aber es funktioniert nicht...
$(document).parent.$("#other_frame").hide("slow");
Ich bin WIRKLICH neu auf jQuery und nach der Suche im web bin ich ziemlich verloren.
Danke für Eure Hilfe.
EDIT: Meine komplette main Seite
<frameset frameborder="0" rows="70, *">
<frame name="toolbar" src="toolbar.html" marginwidth="8px" marginheight="8px" />
<frameset id="lineNumFrameset" frameborder="0" cols="50, *">
<frameset rows="*, 16">
<frame id="other_frame" name="lineNum" src="lineNum.html" marginwidth="8px" marginheight="8px" align="top" />
</frameset>
<frame name="editor" src="editor.html" marginwidth="8px" marginheight="8px" />
</frameset>
</frameset>
- Haben Sie versucht, einfach: $('#other_frame').hide(); Funktioniert es wieder irgendwelche javascript-Fehler oder funktioniert es einfach nicht funktionieren?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit mein Verständnis der Dinge geht, die Sie benötigen, um ausführen von Aktionen wie verstecken divs. Im Grunde, was auch immer Sie versuchen, Sie zu beeinflussen beantworten muss, ist das css-display-Attribut. Wenn Sie frames verwenden, würde ich dringend empfehlen die Verwendung von divs statt, dann müssen Sie schreiben, jQuery, dass tatsächlich entfernt das Bild aus dem DOM statt nur versuchen, es zu verbergen.
Ah. Mehrere Probleme hier. Erstens, es ist
parent()
um die Funktion aufzurufen. Aber jQuery kann nicht Schritt-out von einem Dokument zum übergeordneten Dokument mitparent()
. Zum navigieren nach oben-frames, die Sie brauchen, diewindow.parent
Eigenschaft:Aber für diese zu arbeiten, müssten Sie eine Kopie von jQuery geladen werden im übergeordneten Dokument, so dass Sie anrufen könnte, seine
$
. (Scripting ein Dokument von einem anderen Dokument kopieren von$
in der Regel nicht arbeiten; jQuery ist nicht speziell für cross-frame-scripting.)Und der Letzte Grund warum es nicht funktioniert ist, dass man nicht wirklich script/style frameset-Seiten. Browser ignorieren kann Skripte in diesen besonderen Seiten, und viele CSS-Eigenschaften funktionieren einfach nicht auf frames (einschließlich
display: none
, die die jQuery -hide()
verwendet).Versuchen Sie es mit
iframe
s stattframe
s zu bekommen mehr leicht skriptfähig Seite. (Immer die frame-Stillayout: fixed
Sachen im IE6 wird ein Schmerz sein, wenn.) Oder, wenn du es schaffst, Sie an alle, tun es alle in einem Dokument viel übersichtlicher. Cross-frame-scripting hat viele subtile und lästig fallen.Habe ich diese Weg, ohne jquery, ich habe ein "link" im main-frame, ruft die go () - Funktion.
go-Funktion vergrößert oder verkleinert das erste Bild des "FrameSetMain".
Ich habe getestet auf ie8 und firefox 3.6.
Versuchen, Diese:
Können Sie ändern, frameset mit so etwas wie:
Können Sie dies für die Spalten als gut.