Как рандомизировать и имитировать ролловер в jquery? - PullRequest
1 голос
/ 01 июля 2010

У меня есть скрипт JQuery, который действует как простой ролловер изображений с приятным эффектом затухания.

Вот тестовая версия текущего скрипта в действии - http://fi -testing.co.uk / SO / rubix-cube.html

Как вы можете видеть, есть 9 блоков, клиент желает, чтобы ролловеры происходили случайным образом (без наведения), чтобы создать эффект пульсации.

Как бы этого достичь с помощью JQuery или php? И возможно ли, что зависание над ним нарушает рандомизацию и действует как обычно?

Извините, если что-то из этого неясно.

Спасибо за любую помощь.

Dan

Ответы [ 3 ]

1 голос
/ 01 июля 2010

Не вдаваясь в ваш код, вы можете создать случайность с помощью 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, в функцию, которую вы вызываете из hover и от randomlyChangeCubes.

Все это, как говорится ... делать это совершенно случайно, вероятно, не будет выглядеть как пульсация / пульсация ...

0 голосов
/ 01 июля 2010

Может быть сложно добиться круто выглядящей случайности. Метод Math.random() создает псевдослучайные значения из равномерного распределения (т. Е. Все значения в диапазоне имеют одинаковую вероятность), и это выглядит не очень хорошо.

Я не ожидаю, и я не могу сказать вам, какое распределение даст лучшие результаты, но вы можете попробовать нормальное и пуассоновское распределение:

http://www.ciphersbyritter.com/JAVASCRP/BINOMPOI.HTM (см. Исходный код страницы)

0 голосов
/ 01 июля 2010

Вещи, которые вам понадобятся:

setTimeout / setInterval = вызвать функцию 'эффекта' в случайное число в установленное время = используйте это для случайного вызова требуемого элемента, например # box1, # box2 и т. Д.

Я думаю, вот и все - должно быть довольно просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...