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到元素中,然后它将位于其中一个位置。这类似于我用于随机背景图像的技术。

更新

Also, if you want to use more descriptive class names for the locations, you could keep a mapping of a number to a class name (or use something like position in an array), to relate a a random number to the class to apply.

Code

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 回答