0

iFrame の読み込みとドキュメントの場所のリセットを同時に行う

こんにちは、家族へのDVDプレゼント用にビデオアルバムを作っています。動画は YouTube と同様の iFrame に表示され、下のサムネイルはさまざまな動画を表しています。

ビデオが iFrame に正しく読み込まれましたが、ビデオ サムネイルの一番下の行に到達したときに、onclick 関数を複数回動作させて iframe を表示位置に戻すことができないようです。

私はJavaScriptの使用に非常に慣れていないため、両方のイベントを同時に発生させ、新しいビデオをロードし、iframeを元の表示位置に戻す方法を理解できないようです.

これは、完璧に機能するフレームを変更するために使用しているコードです。


<script type="text/javascript">
function loadsource() 
{ 
var defaultPage = "../vpages/video.htm";
   var query = window.location.search.substring(1);
   var pos = query.indexOf('=');
   if (pos > 0) 
   {
      var frameSource = query.substring(pos+1);
      window.frames["frameBox"].location = frameSource;
   }
   else
   {
      window.frames["frameBox"].location = defaultPage;
   }
}
</script>

<body onload="loadsource()"/><iframe id="frameBox" name="frameBox" 
class="aligncenter" width="600" height="338" frameborder="0" scrolling="no">

これは、元のフレーム読み込みコードに何らかの形で取り組む必要がある、問題なく動作する (ページの読み込みごとに 1 回だけ) クリック機能で a href を使用しようとしたコードです。


<script type="text/javascript">
   function toFrame(){
       document.location=document.location+'#videotop';
    }
frameBox.onload=toFrame();
</script>

<a href="../vpages/video-21.htm" target="frameBox" onclick="return toFrame();">

説明はこちら

JavaScript で何をしているのかを知っている人にとっては非常に簡単に違いないことはわかっていますが、現時点では、独自のスクリプトを作成するのに十分な知識がなく、成功していないため、非常にイライラしています。コードを 1 つのスクリプトにまとめるか、onclick の問題を回避する方法を見つけます。

ヘルプ!ドキュメントの場所機能をオンロード機能に入れ、オンクリックの問題を回避し、ロード時に iFrame ウィンドウを画面の表示可能な部分に戻すにはどうすればよいですか?

提供できるあらゆる支援に感謝します。

4

1 に答える 1

0

正しく理解しているかどうかはわかりませんが、得られたのは次のとおりです。

上部に iframe があるページがあります。多くのリンクがあり、下に向かっています。

誰かがそれらのいずれかをクリックすると、選択したビデオが iframe に読み込まれます

<a href="..." target="framebox" onclick="return toFrame();">

また、ページを再び「スクロール」するためonclickに呼び出すがあります。toFrame()のようにアンカーを配置するだけだと思います

<a name="topOfPage" id="topOfPage" />

iframe の前に toFrame() 関数を次のように変更します

function toFrame(){
    location.hash = "#topOfPage";
}

常にそこまでスクロールする必要があります。

編集

わかりました、もう一度見て、htmlファイルで再作成したところ、次のように機能することがわかりまし

function toFrame() {
    location.hash = '';
    location.hash = '#videotop';
}

場所を空にリセットすることが重要なようです。そうしないとスクロールしません。どういたしまして:) (これがうまくいくことを願っています)

于 2013-11-08T18:09:28.340 に答える