私はシンプルなウェブアプリケーションを作っていますが、<a>
タグを使用する代わりにiframeのSRCを変更するナビゲーションリンクが必要です。これが起こると、古いページを「スライドアップ」してiframeから素早く取り出し、新しいページを読み込ませる方法がありますか?可能であれば、HTML、Javascript、およびCSSのみを使用したいと考えています。iframe srcを有効に変更しますか?
答えて
の上にマスクを置くことができる場合、私は忘れて...実際にメソッド#1が動作するかどうかわからないんだけどiframe?ウェブサイトにウェブサイトを読み込むことは、文字通り代替手段がない限り避けるべきことです。それは遅く、一般的に多くのブラウザで問題を引き起こします。
これをナビゲーションに使用している場合、確かにAJAXを使用して新しいコンテンツを読み込むことは可能でしょうか?または、可能なすべてのコンテンツを最初にロードし、それらのすべてを非表示にすることができます。
ところで、あなたはあまり経験がない場合(誤っていると謝罪します):AJAXという用語を恐れないでください。これは単に、サーバーにデータを送信し、ページをロードした後に返すものを処理するJavascript関数です。 XML HTTPリクエストとも呼ばれます。
いずれにしても、jQuery(http://jquery.com)やプロトタイプ(http://prototypejs.org/)などのJavascriptフレームワークを使用すると、作業が簡単になります。
あなたは何の代替表示されない場合:<a href="#" onclick="return own_javascript_function();">
または、例えば<a href="javascript:my_function()">
:JSが簡単で実行
1)リンク。
2)新しいコンテンツ(var newframe = new HTMLIFrameElement()
、srcなどを設定)を使用して関数に新しいiframeを作成し、それを前のiframeの下に挿入します。他のものの下にそれを隠すために、より低いz-インデックスを与えます。
3)iframeをスライドさせます。position:relative
のコンテナdivを使用して、iframeをposition:absolute
に置きます。 javascript_function()
はiframeのCSSプロパティーtop
を0から-500(またはiframeの高さ)に変更するためにタイマーを使用します。これはjQueryで特に簡単に実行できます。それが終わったら、古いiframeを削除し、新しいiframeのz-indexを1のように設定します(z-インデックスを低くしたり小さくする必要がないようにします)。
代わりに、<div>
と全く同じように、代わりにajaxを使用して新しいコンテンツを読み込むことができます。ただし、外部ドメインから読み込んでいない限り
OK。それは単なる個人的な使い方だから、私は実際には相互互換性については気にしませんが、ロード・オール・アンド・ザ・オール・ワン・オン・ワン・アイツ・アイデアは単純なように思えます。ありがとう! – tkbx
2つのオプションがあります。
jQueryを使用していない場合は、それを調べることをおすすめします。
1)マスクを使用してください。ユーザーがリンクをクリックすると、マスクはページの内容(位置:絶対、上:0、左:0、幅:100%、高さ:$ windowHeight、色:#{マスク色})上にフェードインします。フェードインが完了したら、新しいコンテンツでiframeをリロードします。次に、マスクを消してください。
注:(参照、スライド効果をslideUp/slideDownとフェードイン/フェードアウトを交換jqueryの効果:http://api.jquery.com/category/effects/)
フェードアウト:
$('#elemendId').fadeOut();
フェードイン:
$('#elemendId').fadeOut();
デフォルトのフェードタイム500と思うので、ページをロードするコードのタイムアウトを設定する必要があります
setTimeout(function() { ... load new iframe ... }, 500)
2)iFrameを削除し、コンテンツのAJAXリクエストを行います。何かのように
$.post('path/to/file.html', function(data) {
$('#destination-div').html(data)
});
もっと簡単に、あなたはおそらく多くの問題にぶつからないでしょう。
EDIT:あなたは本当に必要なのです:私はあなたが私はあなたを聞いてみましょう読み続ける前にあなたはインラインフレーム
- 1. iframe srcをvbscriptに変更する
- 2. iframe内のsrcのサイズ変更onload src
- 3. クロスドメインiframe srcの変更
- 4. iframe srcの変更をinspect要素でブロックしますか?
- 5. x秒後にiframe srcを変更します。
- 6. IframeはX秒ごとにsrcを変更します
- 7. URLでiframe srcを変更する
- 8. iframeのsrcを変更する
- 9. iframe srcページのクラスを変更できますか?
- 10. IframeのサイズをIframeのsrc URLのIframeのコンテンツに応じて動的に変更します
- 11. JavaScript:配列からiFrame srcを変更する
- 12. iframeのsrcコンテンツを動的に変更する
- 13. iframeにsrcを追加します。
- 14. 選択メニューに基づいてiFrame srcをjQueryに変更
- 15. モバイル検出でiFrameを有効にしますか?
- 16. iframe srcがBURP Suiteでインターセプトされ、別のURLをIframeに読み込むように変更しました
- 17. スクリプトsrc = // example.com/file.jsは有効ですか?
- 18. ファイルパスがgulp srcで有効ですか
- 19. iframeオブジェクトのsrc/locationの変更を検出する
- 20. リスナーをiframeのsrcに無効にする
- 21. srcのないIframe - できますか?
- 22. スクロールしてsrcを変更するときのJqueryフェード効果
- 23. jquery iframe src
- 24. iframe src in Haml
- 25. ボタンを押してiframe 'src'を更新する(フォームの 'ファイル'ボタン)
- 26. AndroidでHTML5動画srcを動的に変更しますか?
- 27. SrcはIframeで始まる
- 28. 有効なiframeを返すHTMLコード
- 29. iframe srcの変更直後にiframeのコンポーネントの値を変更するにはどうすればよいですか?
- 30. 値0を無効に変更し、有効にする1を有効にする
同様の質問があります(フェードインとアウト):http://stackoverflow.com/questions/867272 – nalply