Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2014, 17:20
Новичок на форуме
Отправить личное сообщение для Yon Yonson Посмотреть профиль Найти все сообщения от Yon Yonson
 
Регистрация: 20.02.2014
Сообщений: 3

Массив из 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>

Последний раз редактировалось Yon Yonson, 20.02.2014 в 17:22.
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2014, 17:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Yon Yonson,

нужен скрипт ротатора DIV блоков при перезагрузке страницы - 10$
Ответить с цитированием
  #3 (permalink)  
Старый 21.02.2014, 11:12
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var divs = $('#elements div'), div;

div = divs.eq(Math.floor(Math.random() * divs.length));


div - случайно выбранный элемент из divs;
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2014, 21:46
Новичок на форуме
Отправить личное сообщение для Yon Yonson Посмотреть профиль Найти все сообщения от Yon Yonson
 
Регистрация: 20.02.2014
Сообщений: 3

Спасибо за советы, но как теперь сделать массив уже в js из такого содержимого и вывести элемент рандомно?

<div id="elements">
    <div id="container1">
        text 1
    </div>
    <div id="container2">
        text 2
    </div>
    <div id="container3">
        text 3
    </div>
</div>
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2014, 22:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Yon Yonson,

<!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>
Ответить с цитированием
  #6 (permalink)  
Старый 25.02.2014, 00:42
Новичок на форуме
Отправить личное сообщение для Yon Yonson Посмотреть профиль Найти все сообщения от Yon Yonson
 
Регистрация: 20.02.2014
Сообщений: 3

Я собираюсь подключить скрипт этого ротатора к нескольким файлам шаблона у себя на сайте, т.к. меняться они будут часто, и чтобы не лазить каждый раз по всем файлам, то будет подключен отдельный 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 файл, не принимайте всерьез.
Заранее спасибо.
Ответить с цитированием
  #7 (permalink)  
Старый 25.02.2014, 01:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Yon Yonson,
после ссылки во 2 посту -- все остальные сообщения лишние в данной теме, если вопросы всётаки есть тогда тудаже в разделе работа создайте тему и укажите цену.
Ответить с цитированием
  #8 (permalink)  
Старый 25.02.2014, 14:05
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

$(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>');
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка HTML элемента на существование MCTrane Общие вопросы Javascript 10 26.02.2014 20:51
Работает ли jquery с html сформированным динамически? warobushek Общие вопросы Javascript 5 13.06.2010 08:26
Jquery манипулятор html JIEXA jQuery 6 18.03.2010 21:55
jQuery Ajax Rater Plugin и массив POST - Нужна помощь TROODON jQuery 12 30.12.2009 22:44
jquery ajax html alexandre jQuery 2 18.11.2009 23:08