Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Установить id на на цикл ссылок с помощью таймера (https://javascript.ru/forum/jquery/9865-ustanovit-id-na-na-cikl-ssylok-s-pomoshhyu-tajjmera.html)

ivanweb 09.06.2010 08:27

Установить id на на цикл ссылок с помощью таймера
 
Здравствуйте. у меня етьс блок, унтри него ссылки

<style>
div#pages_block a{
color:#000;
text-decoration:none;
}
div#pages_block a:hover{
color:#747474;
text-decoration:underline;
}
div#pages_block a#cur_page{
color:#747474;
text-decoration:underline;
}
</style>

<div id="pages_block">
<a href="javscript:" class="sr">ssss</a>
<a href="javscript:" class="sr">ssss</a>
<a href="javscript:" class="sr">ssss</a>
<a href="javscript:" class="sr">ssss</a>
</div>


нужно, чтобы с интревалом 3 секунды id прибавлялся к ссылке и удалялся у предыдущей!

т.е
<div id="pages_block">
<a href="javscript:" class="sr" id="cur_page">ssss</a>
<a href="javscript:" class="sr">ssss</a>
<a href="javscript:" class="sr">ssss</a>
<a href="javscript:" class="sr">ssss</a>
</div>

потом
<div id="pages_block">
<a href="javscript:" class="sr">ssss</a>
<a href="javscript:" class="sr" id="cur_page">ssss</a>
<a href="javscript:" class="sr">ssss</a>
<a href="javscript:" class="sr">ssss</a>
</div>

...


делал так:
var i=0;
jQuery("#pages_block a.sr").everyTime(3000, function() {
jQuery("#pages_block a.sr").removeAttr("id");
jQuery("#pages_block a.sr").eq(i).attr("id", "cur_page");
i++;
});

exec 09.06.2010 08:41

var i = 0, e = $('#pages_block a.sr');
setInterval(function () {
e[i].id = null, e[i + 1].id = 'cur_page', i++;
}, 3000);

micscr 09.06.2010 08:44

такое логичнее делать: addClass/removeClass
А по коду - что не получается? Зациклить на начало?

ivanweb 09.06.2010 08:49

да, зациклить на начало

ivanweb 09.06.2010 09:19

var c = jQuery('#pages_block a').size();
var i = 0, e = jQuery('#pages_block a');
setInterval(function () {
e[i].id = null;
e[i + 1].id = 'cur_page';
if (i<c) i++; else c=0;

}, 3000);

не работает почемуто

micscr 09.06.2010 11:05

var i=0;
jQuery("#pages_block a.sr").everyTime(3000, function() {
$who = jQuery("#pages_block a.sr");
$who.removeAttr("id");
$who.eq(i).attr("id", "cur_page");
i++;
if (i == $who.length) i = 0;
});


да, и возможно, лучше $who = $(this); - проверь как там в плагинах работает


Часовой пояс GMT +3, время: 14:24.