Массив из html в jquery и вывод случайного элемента
Приветствую!
Возможно в названии изложил коряво тему. Есть кусок html: <div id="elements"> <div id="container1"> text 1 </div> <div id="container2"> text 2 </div> <div id="container3"> text 3 </div> </div> Из него нужно сделать массив в jquery, и затем вывести из этого массива случайный какой-то один элемент. Пока только таким кодом собрал все эти дивы <script type="text/javascript"> $('document').ready(function () { var divs = $('#elements div'); }); </script> |
|
var divs = $('#elements div'), div; div = divs.eq(Math.floor(Math.random() * divs.length)); div - случайно выбранный элемент из divs; |
Спасибо за советы, но как теперь сделать массив уже в js из такого содержимого и вывести элемент рандомно?
<div id="elements"> <div id="container1"> text 1 </div> <div id="container2"> text 2 </div> <div id="container3"> text 3 </div> </div> |
Yon Yonson,
:blink: <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> #elements div{ display: none; } </style> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script> $(function () { var divs = $('#elements div'), div; div = divs.eq(Math.floor(Math.random() * divs.length)); div.show() }); </script> </head> <body> <div id="elements"> <div id="container1"> text 1 </div> <div id="container2"> text 2 </div> <div id="container3"> text 3 </div> </div> </body> </html> |
Я собираюсь подключить скрипт этого ротатора к нескольким файлам шаблона у себя на сайте, т.к. меняться они будут часто, и чтобы не лазить каждый раз по всем файлам, то будет подключен отдельный js, который буду менять, я этого не учел изначально.
И в сообщении выше опять же криво пытался изложить. Т.е. у меня будет в файлах шаблона подключен скрипт и на странице будет див: <div id="banner"></div> А сам файл js такой: $('document').ready(function () { var arr = [ <div id="container1"> text 1 </div>, <div id="container2"> text 2 </div>, <div id="container2"> text 2 </div> ]; document.getElementById('banner').appendChild( arr[Math.floor(Math.random() * arr.length)] ) }); Я попытался составить схематично js файл, не принимайте всерьез. Заранее спасибо. |
Yon Yonson,
после ссылки во 2 посту -- все остальные сообщения лишние в данной теме, если вопросы всётаки есть тогда тудаже в разделе работа создайте тему и укажите цену. |
$(function() { var banner = $('#banner'), divs = [], rand; divs[0] = 'content 1'; divs[1] = 'content 2'; divs[2] = 'content 3'; rand = Math.floor(Math.random() * divs.length); banner.html('<div id="container' + (rand + 1) + '">' + divs[rand] + '</div>'); }); |
Часовой пояс GMT +3, время: 05:30. |