私は、レールアプリケーションで一定の時間間隔で一連の画像を表示しようとしています。今私はこれのためにjavascriptを使用して、表示される各スライド間の時間のユーザーからのタイミングを取っています。今私はデータベースから時間をフェッチしようとしているjavascriptのsetTimeout関数を使用しています。つまり、my tablesという名前のスライドです。Rails Javascript Database Doubt
画像が変化しているしかし、これはこれは、画像変更機能
function slideit(){
//if browser does not support the image object, exit.
if (!document.images)
return;
document.images.slide.src=eval("preloaded["+step+"].src");
if (step<10)
step++;
else
step=0 ;
<% @slides.each do |slide| %>
setTimeout("slideit()",'<%= slide.time.to_i %>')
<% end %>
}
の私の抜粋ですプリロードイメージのため
var preloaded = new Array();
for (var x = 0; x < 10; x++)
{
preloaded[x] = new Image();
preloaded[x].src = "/images/pausch/img"+x+".gif";
}
私のコードスニペットでは、いくつかのランダムな時間であり、時間に応じません保存される。誰も何が間違っていると示唆できますか?
可変ステップは、値ステップ= 0でグローバルです。それを置くのを忘れてしまった。 – Saagar
クライアントに表示される生成された 'setTimeout()'行の例を表示できますか?時間切れのタイムアウトが発生している可能性があります。[このリンク](http://ejohn.org/blog/how-javascript-timers-work/)が役立つかもしれません。 –
まあ、基本的には、テーブルの最後のエントリを「時間」列に格納しています。私は1,2,3,4として4つのエントリを持っていた場合、デフォルトでそれは4だけを格納します。エントリのそれぞれを生成する方法はありますか?私は配列のテーブルのすべてのエントリを格納し、forループでsetTimeout関数を実行する考えていた...私は、私はそれぞれの画像の表示の間に異なる間隔を与えたいと思う、これは正しい方法ですか? – Saagar