0

前に見たことがあるので、これができることはわかっています。それでも、どこでも答えを探したので、それを機能させる方法がわかりません。

私が必要とするのは、ページがページ上の 3 つの異なる場所から読み込まれるときに、フォームの位置がランダムに変わることです。では例えば……。

【ここ】【ここ】【ここ】

フォームが読み込まれる可能性のあるスポットはすべて可能ですが、読み込まれるたびに 1 つのスポットでしかありません。どのような情報が必要かわかりません。今のところ、フォームを提供します。

<form name="inputt" action="" method="post">
  <div align="center">
    <input type="submit" class="catch" value="Catch Pokemon" name="catch">
  </div>
</form> 

さらに必要な場合は、お問い合わせください。

4

2 に答える 2

2

私の最初の考えですが、3 つの異なる位置クラスの CSS を記述し、それらを「位置 1」、「位置 2」、「位置 3」などと呼ぶことができます。次に、必要に応じて javascript (または PHP) でのページ読み込み時に、1 から 3 の間の乱数を生成し、クラス"position"+randomNumberを要素に追加すると、それらの場所のいずれかに配置されます。これは、ランダムな背景画像に使用した手法に似ています。

アップデート

また、場所にもっとわかりやすいクラス名を使用したい場合は、クラス名への数値のマッピングを保持して (または配列内の位置のようなものを使用して)、適用するクラスに乱数を関連付けることができます。

コード

CSS:

<style>
    .position1 {
        // Whatever style you want for position 1
    }
    .position2 {
        // Whatever style you want for position 2
    }
    .position3 {
        // Whatever style you want for position 3
    }
</style>

JS:

$(document).ready( function () {
    var randomIndex = Math.floor(Math.random()*3)+1; //3 is the number of options you have; +1 makes the range 1 - 3 instead of 0 - 2
    $('#my-form').addClass('position'+randomIndex); //Adds the new class the element with id = 'my-form'
}
于 2013-03-29T20:48:50.360 に答える
0

ページの更新を「ロード」することを意味する場合は、Cookie またはその他のメカニズムでフォームの以前の場所を保持する必要があります。フォームの最後の場所に基づいて、次の場所を決定できます。

フォームが ajax 呼び出しに基づいてリロードされている場合は、var を使用してフォームの以前の場所を保存し、var の値を確認して次の場所が以前と同じにならないようにすることをお勧めします。フォームが読み込まれるたびに位置を一意にする必要がある場合は、配列を使用して以前に使用した表示位置を保存します。

HTH。

于 2013-03-29T20:48:10.437 に答える