は、私は私はこの1つに答えた場合、私は疑問:)まず
のコードの原作者よ、私たちはこの質問ですが、あなたが(コードを服用して[OK]をしているとして、それが最善かもしれないと思いますあなたがすでに持っているので、私たちは現時点で大きなリライトの途中にあり、このコードはその一部として償却されています)。
Fabiánにリンクされているファイルには必要なコードが含まれていますが、それ以外のサイトのコードもたくさん含まれています。あなたが望むビットは実際にはかなりシンプルですが、いくつかの異なることが続いています。このファイルには、PS.CoverLoaderクラスがあります。
まず、ページのすべてのサムを取り出し、バックグラウンドで読み込みを開始します。彼らがすでにロードされていると仮定しましょう。
フリッキングは非常に簡単です - 私はちょうどそこにjsを持っているので(私はおそらくjqueryを使用しています)、擬似コードを使用します。
create array of all images for album
attach to album mousemove
on move find x position of the mouse
translate that to a position in your array
segment_size = album_width/img_count
segment = Math.floor(offset/segment_size)
switch album displayed image to be array[segment]
多くの画像の読み込みに関するその他の点では、それは問題です。このシステムは、ページのすべてのサムを読み込みます。非効率的です - 一部のページは10/100sのMBです。私たちは、すべてのサム(イメージスプライト)を含むアルバムごとに1つの長いイメージを作成しようとしましたが、この多くの異なるイメージでは実際には機能しません。
私の提案は、特定のアルバムのすべての画像を最初のホバーに読み込み、それをjsの配列に保存することです。
私のアルバムの一部に200以上の画像があるため、すべての画像をまとめてロードするといいでしょう。また、私は彼らが私にそこにニックネーを好きではないと思います –
あなたはそれがどのように動作するか、それから学ぶことができます。また、JSファイルをdocument.ready()に入れると、最初にページをロードしてからサムネイルをロードします。 view-source:http://event.photoswarm.com/ページをロードした後、サムネイルを読み込みます。 –
まだ全部ダウンロードするのに時間がかかりすぎて、200以上の場合は問題が発生します –