0

だから私は少し頭を抱えていると判断しました。私はhtmlとcssを超えたコードに非常に慣れていないので、最初の試みとしてjavascriptを掘り下げることにしました。私はたくさんの素晴らしいフィードバックを受け取りました、そしてそれの多くが助けてくれた間、それは本当に私の頭の上にありました。

本質的に、私が行ったことは、2つのphpページからギャラリーを作成します。1つ目は、スライド式のサムネイルウィンドウと、アートワークと可変コンテンツをロードする「汎用」フィールドを備えたサイト上のページです。2つ目はgallery.phpページで、潜在的なアートワークがすべてdivに分割され、アート、タイトル、説明などがすべて一意のIDで分割されています。サムネイルの1つを選択すると、gallery.phpページからdivが呼び出され、.innerHTMLを使用して「generic」divに入力されます。これは問題なく機能しましたが、gallery.phpページに40以上のdivがあるため、標準のphpインクルード(非表示のdivにあるため、何も表示されない)にすると、ページの読み込みに時間がかかり、理想的ではありません。

私はすべてに本当に慣れていないので、最初は本当に遅く、最初にjavascriptのルーツを把握しようとしているのでjqueryを避けています。先日、jqueryで.load()関数を見つけたときにこの問題を提起しましたが、それをストレートjavascriptで書き出す方法があるかどうか疑問に思っていましたが、具体的にはそのバージョンを受け取っていませんでしたが、私の頭を少し超えていたajaxでそれを行う方法についての詳細な返信。

私の質問は基本的に可能な次のシナリオの1つです:-うまくいけば最も簡単な解決策...ページ上のすべてのコンテンツをロードし、ページがロードされた後にのみ、含まれているgallery.phpページのロードを開始するようにページに指示する方法がありますページの読み込み時間を遅くしないように、そしてクリックしたときにギャラリーのコンテンツの読み込み時間を遅くするだけのコンテンツですか?-AJAXは、別のページからdivを呼び出す最も基本的な方法ですか?-ソースを別のphpページとして定義する方法がある場合、定義したdivをプルするように指示できますか?-.load()jquery関数を折りたたんで含める場合、探しているdivを返すにはどうすればよいですか?

私はこれらすべて、またはもちろん答えを探しているわけではありませんが、それらのいずれかに推奨される解決策がある場合は、私に知らせてください。

4

1 に答える 1

0

コンテンツをプリロードする簡単な方法として、非表示の iframe を提案します。このようにして、リソースはクライアントでロードおよびキャッシュされますが、AJAX について心配する必要はありません。その iframe のコンテンツがサムネイルのに読み込まれるようにするには、プレーンな JavaScript を使用して作成し、それをドキュメントの読み込みイベントに添付します。addEventListener の詳細については、「MDN: element.addEventListener」を参照してください。

window.addEventListener("load", function(){

    var iframe = document.createElement("IFRAME"); 
    iframe.setAttribute("src", "galery.php"); 
    iframe.style.display = "none"; 
    document.body.appendChild(iframe);

}, false);
于 2012-08-08T06:08:47.100 に答える