繁体   English   中英

如何在jquery中随机化和模拟翻转?

[英]How to randomise and mimic a rollover in jquery?

我有一个JQuery脚本,它充当简单的图像翻转并具有良好的淡入淡出效果。

这是当前正在运行的脚本的测试版本-http://fi-testing.co.uk/SO/rubix-cube.html

如您所见,有9个区块,客户希望轮流随机发生(无悬停)以产生波动/脉动效果。

如何使用JQuery或php实现此目标?将鼠标悬停会破坏随机性并像正常情况那样吗?

抱歉,如果不清楚。

谢谢你的帮助。

无需过多编写代码,就可以通过Math.random()创建随机性

因此,如果您有一个多维数据集整体的数组(索引为0-8),则可以使用

var randomNumber = parseInt( Math.random() * 9 );
var randomCube = cubes[randomNumber];

您可以使用setInterval使其每隔x ms重复一次

function randomlyChangeCubes() { ... }

...

setInterval( randomlyChangeCubes, 2000 );

你可以使用jQuery trigger调用hover手工效果,但我会说这将会是更具可读性提取你有代码hover给您无论从调用函数hoverrandomlyChangeCubes

话虽如此...完全随机地执行此操作可能不会使其看起来像波纹/脉动...

您需要做的事情:

setTimeout / setInterval =在设置的时间调用“效果”函数随机数=使用此函数随机调用所需的元素,例如#box1,#box2等。

我认为就是这样-应该相当简单。

实现很酷的随机性可能很棘手。 Math.random()方法根据均匀分布生成伪随机值(即,范围内的所有值具有相同的概率),并且看起来不太好。

我并不期望,我无法告诉您哪种分布会产生更好的结果,但是您可以尝试使用正态分布和泊松分布:

http://www.ciphersbyritter.com/JAVASCRP/BINOMPOI.HTM (有关代码,请参见页面源代码)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM