Показать сообщение отдельно
  #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>
Ответить с цитированием