Как на jQuery сделать автоматический переход по ссылкам с якорем?
Доброго вечера знатокам JS! :victory:
Нужна ваша помощь в написании скрипта автоматического перехода по ссылкам с якорем на одной странице. Имеется вот такой html (для примера) <html> <body> <div><img onclick="скрипт">кнопка посмотреть список</img></div> <div align="center"> <div id="div1"> контейнер <strong>(№1)</strong></div> <div><a href="#div2" class="GoDiv">ссылка на контейнер (№2)</a></div> <div> здесь содержимое (№1) и в нём некоторый текст....<br> -------------------------------------------------------<br> -------------------------------------------------------<br> ------------------------------------------------------- </div> </div> <br> <br> <div align="center"> <div id="div2"> это контейнер <strong>(№2)</strong></div> <div><a href="#div3" class="GoDiv">ссылка на контейнер (№3)</a></div> <div> здесь содержимое (№2) и в нём некоторый текст....<br> -------------------------------------------------------<br> -------------------------------------------------------<br> ------------------------------------------------------- </div> </div> <br> <br> <div align="center"> <div id="div3"> это контейнер <strong>(№3)</strong></div> <div><a href="#div4" class="GoDiv">ссылка на контейнер (№4)</a></div> <div> здесь содержимое (№3) и в нём некоторый текст....<br> -------------------------------------------------------<br> -------------------------------------------------------<br> ------------------------------------------------------- </div> </div> <br> <br> <div align="center"> <div id="div4"> контейнер <strong>(№4)</strong></div> <div><a href="#div5" class="GoDiv">ссылка на контейнер (№5)</a></div> <div> здесь содержимое (№4) и в нём некоторый текст....<br> -------------------------------------------------------<br> -------------------------------------------------------<br> ------------------------------------------------------- </div> </div> <br> <br> <div align="center"> <div id="div5"> это контейнер <strong>(№5)</strong></div> <div><a href="#div1" class="GoDiv">ссылка на контейнер (№1)</a></div> <div> здесь содержимое (№5) и в нём некоторый текст....<br> -------------------------------------------------------<br> -------------------------------------------------------<br> ------------------------------------------------------- </div> </div> </body> </html> Третий день безуспешно пытаюсь написать скрипт автоматического перехода по ссылкам с якорем и классом "GoDiv" Прочитал страницы учебника по таким темам как: как найти элементы с одним классом (getElementsByClassName) как перебрать массив в цикле как сделать задержку по времени и всё что мне показалось пригодным для создания скрипта. Теперь в голове всё перемешалось и я совсем запутался. Если сперва у меня что то немного получалось, то теперь мой скрипт совсем перестал работать получился чудо велосипед на jQuery :haha: В общем я его удалил с концами... И мне ничего не осталось как обратится к спецам то есть к вам!:help: что должен сделать скрипт: 1) пользователь нажимает кнопку "посмотреть список" 2) скрипт запускается и проходит по очереди по всем ссылкам у которых указан класс "GoDiv" (количество ссылок всегда разное) на каждом блоке задерживается на пять секунд. 3) дойдя до последнего блока, делает так же задержку 5 сек. и возвращается к первому. Там и останавливается. В гугл и учебник прошу не отправлять, там я был и безрезультатно. Если бы получилось написать код самостоятельно, то так бы и сделал. |
SV4,
([]+{})[!+[]+!+[]<<+!+[]]
+(prompt+([]+[]))[+[+!+[]+[+[]]]-+!+[]]
+([![]]+[][[]])[+!+[]+[+[]]]
+([]+{})[+[+!+[]+[+[]]]/[!+[]+!+[]]]
+([]+{})[(+!+[]+!+[]+!+[]<<+!+[])+!+[]]
+(![]+[])[+[]]
+(+[][[]]+[]+[])[+!+[]]
+([![]]+[][[]])[+!+[]+[+[]]]
+(![]+[])[!+[]+!+[]];
|
Какой исчерпывающий ответ ;)
Единственное, что я из этого всего понял prompt Но мне это точно не поможет |
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
#list img {
cursor: pointer;
}
</style>
<script type='text/javascript'>
$(function (){
var obj=$('.GoDiv').parent().prev();
var tmout=2000;
var pos;
$('#list img').click(function (){
pos=0;
go();
});
function go(){
var id=obj.eq(pos).prop('id');
++pos;
if (pos>obj.length){
id=obj.eq(0).prop('id');
setTimeout(function(){
top.location='#'+id;
},tmout);
return;
};
top.location='#'+id;
setTimeout(go,tmout);
};
});
</script>
</head>
<body>
<div id='list'><img src='http://javascript.ru/forum/images/smilies/victory.gif'>кнопка посмотреть список</img></div>
<div align="center">
<div id="div1"> контейнер <strong>(№1)</strong></div>
<div><a href="#div2" class="GoDiv">ссылка на контейнер (№2)</a></div>
<div>
здесь содержимое (№1) и в нём некоторый текст....<br>
-------------------------------------------------------<br>
-------------------------------------------------------<br>
-------------------------------------------------------
</div>
</div>
<br>
<br>
<div align="center">
<div id="div2"> это контейнер <strong>(№2)</strong></div>
<div><a href="#div3" class="GoDiv">ссылка на контейнер (№3)</a></div>
<div> здесь содержимое (№2) и в нём некоторый текст....<br>
-------------------------------------------------------<br>
-------------------------------------------------------<br>
-------------------------------------------------------
</div>
</div>
<br>
<br>
<div align="center">
<div id="div3"> это контейнер <strong>(№3)</strong></div>
<div><a href="#div4" class="GoDiv">ссылка на контейнер (№4)</a></div>
<div> здесь содержимое (№3) и в нём некоторый текст....<br>
-------------------------------------------------------<br>
-------------------------------------------------------<br>
-------------------------------------------------------
</div>
</div>
<br>
<br>
<div align="center">
<div id="div4"> контейнер <strong>(№4)</strong></div>
<div><a href="#div5" class="GoDiv">ссылка на контейнер (№5)</a></div>
<div> здесь содержимое (№4) и в нём некоторый текст....<br>
-------------------------------------------------------<br>
-------------------------------------------------------<br>
-------------------------------------------------------
</div>
</div>
<br>
<br>
<div align="center">
<div id="div5"> это контейнер <strong>(№5)</strong></div>
<div><a href="#div1" class="GoDiv">ссылка на контейнер (№1)</a></div>
<div> здесь содержимое (№5) и в нём некоторый текст....<br>
-------------------------------------------------------<br>
-------------------------------------------------------<br>
-------------------------------------------------------
</div>
</div>
</body>
</html>
|
SV4,
Это ArrayScript |
Цитата:
Только не могу понять почему на последнем блоке двойная задержка по времени. В какую строку надо смотреть? |
Цитата:
надо делать так: Создать ещё одну переменную, что бы узнать количество всех блоков. например:
var count_obj = $("a.GoDiv").length;
затем создать условие внутри функции setTimeout:
if (pos==count_obj) {var tmout=1000;}
или я снова горожу велосипед :no: |
| Часовой пояс GMT +3, время: 01:59. |