Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.04.2011, 17:09
Интересующийся
Отправить личное сообщение для Александр345 Посмотреть профиль Найти все сообщения от Александр345
 
Регистрация: 20.03.2011
Сообщений: 16

Случайный показ элемента li из составного списка
Здравствуйе!

У меня такая вот задача:
-нужно перебрать в случайном порядке все элементы по одному из списка;
-элемент из списка показывать 1 раз;
-список один общий нужно собрать из двух массивов ul (грубо говоря 2 столбика)
-после перебора всех элементов остановиться на последнем;
-при обновлении страницы каждый раз выбирать произвольный первый элемент, далее перебирать все элементы до конца набора в произвольном порядке.

Вот скрипт, и не большой пример странички со стилями который я написал.

Выдается ошибка в данном случае указывающая на строку 51 arr.onmouseout is not a function.

Получается что не правильно так объединять наборы элементов или ошибка в чем-то другом?

Вообще, можно так присвоить переменной ссылку на набор и затем обращаться к переменной, а не к набору?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
ul, li {
		list-style-position:inside;
		list-style-type:none;
		padding:0;
		margin:0;
}
span, a {padding:0;
		margin:0;
}


#menu {
		/*border: 1px solid #000;*/
		left:0;
		position:relative;
		top:0;
		width:300px;
}
#menu a:hover {color:#f00;}
.left-menu {
		/*border: 1px solid #f00;*/
		left:0;
		float:left;
		margin-left:15px;
		top:0;
		width:100px;
}
.right-menu {
		/*border: 1px solid #0f0;*/
		margin-left:15px;
}
.hit {
		color:#f00;
}
</style>

<script type='text/javascript' src='js/jquery-1.5.2.min.js'></script>

<script type="text/javascript">	

$(function () {

	var arr=$(".left-menu ul li a span").add($(".right-menu ul li a span"));
	
	arr.onmouseout(function() {
		setTimeout(function() {
			arr.each(function(i) {
				var leng=arr.length;
				i=Math.ceil(Math.random()*leng);
				arr
					.removeClass("class", "hit")
					.eq(i)
					.addClass("hit")
			})
		}, 4000)
	})
})


</script>
</head>
<body>
<div id="menu">
	<ul class="left-menu">
		<li><a href="#"><span>Строка 01</span></a></li>
		<li><a href="#"><span>Строка 02</span></a></li>
		<li><a href="#"><span>Строка 03</span></a></li>
		<li><a href="#"><span>Строка 04</span></a></li>
		<li><a href="#"><span>Строка 05</span></a></li>
	</ul>
	<ul class="right-menu">
		<li><a href="#"><span>Строка 06</span></a></li>
		<li><a href="#"><span>Строка 07</span></a></li>
		<li><a href="#"><span>Строка 08</span></a></li>
		<li><a href="#"><span>Строка 09</span></a></li>
		<li><a href="#"><span>Строка 10</span></a></li>
	</ul>
</div>

</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2011, 17:19
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

а вы хоть смотрите какие у вас ошибки выдаёт браузер?
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 13.04.2011, 17:55
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

.mouseout(), без on
Ответить с цитированием
  #4 (permalink)  
Старый 14.04.2011, 20:13
Интересующийся
Отправить личное сообщение для Александр345 Посмотреть профиль Найти все сообщения от Александр345
 
Регистрация: 20.03.2011
Сообщений: 16

Skipp,
Конечно смотрю. Я же написал выше - ошибка в строке 51 данного кода!

Я буду вежливее и скажу вам спасибо.

Matre,
Спасибо за подсказку. Я пока путаю с javascript

Я вот тут поковырял немного и нашел объявление переменных с использованием спец. знака Jquery - $. Так, наверное, с точки зрения синтаксиса Jquery будет более правильно.

Т.е. в строке 49 нужно написать:

var $arr=$(".left-menu ul li a span").add($(".right-menu ul li a span"));


Тогда можно обращаться к переменной как к объекту - через точку.

Спасибо за помощь!
Будем делать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить список значениями из динамически созданного выпадающего списка zhuzha Элементы интерфейса 0 17.08.2010 14:40
раскрывать/скрывать <td> при выборе определенного элемента списка zip Элементы интерфейса 2 19.01.2009 13:58