【问题标题】:How to randomise and mimic a rollover in jquery?如何在 jquery 中随机化和模拟翻转?
【发布时间】:2023-03-03 18:40:01
【问题描述】:

我有一个 JQuery 脚本,它作为一个简单的图像翻转,具有很好的淡入淡出效果。

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

如您所见,有 9 个块,客户端希望翻转随机发生(没有悬停)以产生波纹/脉动效果。

如何使用 JQuery 或 php 实现这一点?悬停是否有可能打破随机化并正常运行?

如果有任何不清楚的地方,请见谅。

感谢您的帮助。

【问题讨论】:

  • 我假设你知道像 PHP 这样的服务器端语言和像 JavaScript 这样的客户端语言之间的区别......

标签: jquery random effects rollover


【解决方案1】:

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

因此,如果您有一个完整的立方体数组,索引为 0 - 8,则可以使用

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

您可以使用setInterval 让此操作每 x 毫秒重复一次

function randomlyChangeCubes() { ... }

...

setInterval( randomlyChangeCubes, 2000 );

您可以使用 jQuery trigger 手动调用 hover 效果,但我想说将 hover 中的代码提取到您从 @987654328 调用的函数中会更具可读性@ 和来自randomlyChangeCubes

话虽如此……完全随机地做这件事可能不会让它看起来像涟漪/脉动……

【讨论】:

    【解决方案2】:

    你需要的东西:

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

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

    【讨论】:

      【解决方案3】:

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

      我不是一个期望,我不能告诉你什么分布会产生更好的结果,但你可以尝试正态分布和泊松分布:

      http://www.ciphersbyritter.com/JAVASCRP/BINOMPOI.HTM(代码见页面源代码)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-04
        • 1970-01-01
        • 2017-10-11
        • 1970-01-01
        • 1970-01-01
        • 2016-06-01
        相关资源
        最近更新 更多