Вход

Просмотр полной версии : Взять элемент рандомно


HETmozgov
14.01.2011, 12:53
Здравствуйте гуру jquery

Есть в элементе div картинки img. Для картинок стоит свойство display:none Как с помощью jquery задать свойство display:block для СЛУЧАЙНОЙ картинки из имеющихся?

$j('div img').css('display','block'); - это выборка всех картинок в диве. подскажите как к выборке добавить СЛУЧАЙНОСТЬ

Спасибо :)

Shaci
14.01.2011, 13:01
Как-нибудь так

function getRandom(m,n){
return Math.floor(Math.random()*(n-m+1))+m;
}
var n = getRandom(0,$('div img').length - 1);
$($('div img')[n]).css('display', 'block');

Skipp
14.01.2011, 13:09
$('div img').eq(Math.floor(Math.random()*$('div img').length)+1).css({display: "block"});

HETmozgov
14.01.2011, 13:35
Спасибо откликнувшимся :)

У меня заработал вариант Shaci - отдельное спасибо.

ksa
14.01.2011, 13:38
HETmozgov, вот только jquery тут ни при чем... ;)

Matre
14.01.2011, 14:08
вориант без говно-кода ;)

var els = $('div img');
els[~~(Math.random() * els.length)].style.display = 'block';

Shaci
14.01.2011, 14:36
Спасибо откликнувшимся :)

У меня заработал вариант Shaci - отдельное спасибо.

вариант skipp лучше возьми

Matre
14.01.2011, 14:46
вариант skipp лучше возьми

тамже выборка 2 раза зачемто идет..
ну т-е $('div img') вызываеться 2 раза,когда хвотило бы 1-ого

рони
14.01.2011, 15:58
els[~~(Math.random() * els.length)].style.display = 'block';
скобки нехватает

Skipp
14.01.2011, 15:58
Matre,
вориант без говно-кода
ага и с ошибками =)
тамже выборка 2 раза зачемто идет..
а идёт она 2 раза потому, что не хотел создавать лишние переменные и написать всё в одну строку, не думаю что сильно замедлю систему из-за этого

Matre
14.01.2011, 20:11
ага и с ошибками =)

это была опечатка
непонимаю людей,которые сливают все в одну кучу-и считают это аргументом

не думаю что сильно замедлю систему из-за этого

в совокупности вот-такие мелочи могут довать серьезные тормоза,так что это не опровдание

Skipp
14.01.2011, 21:13
Matre,
вот ещё чего из-за такой мелочи оправдываться)
проехали в общем

HETmozgov
16.01.2011, 13:52
ksa я уж понял, что это не jquery.

Просто я думал, что есть решение на jquery - возможно функция какая-то. Но какая разница почему летает самолет - главное летает и не падает :)

Да и делать замечания по этому поводу с моей стороны было бы не вежливо...