Прокрутка сообщений на страницах топика
"Бегунок по cообщениям на странице" позволяет легко передвигаться по сообщениям на странице
4- кнопки :
верхняя стрелка - перемещение на предыдущий пост
Самая Нижняя стрелка - перемещение на следущий пост
Две внутренних - перемещение внутри поста - к началу и к концу, кроме того они переключают режим перемещений для нижней стрелки,(*в соответствии с последним нажатием внутренних кнопок - нижняя стрелка будет перемещать либо на начало последующих сообщениях - либо на конец сообщения)
Для установки скрипта - должен быть включён рейтинг поста в сообщении( 0 - справо в нижней части каждого сообщения)
Ps: - Двойной Клик по сообщению - сворачивает - разворачивает стрелки.
При развороте Двойным Кликом, - стрелка стразу настраиваецо на текущий, кликанутый пост - т.е может сходу перемещацо с текущего места и далее - а не с первого поста (*или того места, где мы начав читать, забыли на время о стрелке)
В HTML низ или в HTML в форме Ответа
<script id="Jumper_on_the_forum_posts"> var a=document.URL; if($(".punbb").attr("id")=="pun-viewtopic"){ var img1='http://savepic.net/1972852.png'; //forLight-BlackFld; var MaxNumPst, PostList=[],MaxPost; $(".post").each(function (j){var l=$(this).attr("id");PostList[j]='#'+l; $(this).attr("alt",j);$(this).find(".post-rating").attr("id",l+"B") MaxNumPst=j;});MaxPost=PostList[MaxNumPst]; function StrelkaHide(){ if(imgMap.hasClass('Show')){ imgMap.parent("div").animate({ marginLeft: "-26px" }, 1000 ); imgMap.animate({ width: "13px" }, 1000,function(){imgMap.removeClass("Show")} ); } } function Strelkshow(){ if(!imgMap.hasClass('Show')){ ClickSuM++; NoFirstClick=false Loading_href(); imgMap.parent("div").animate({ marginLeft: "-53px" }, 1000 ); imgMap.animate({ width: "62px" }, 1000,function(){imgMap.addClass("Show")} ); } } var ClickSuM=0; function TestClicK(){ if(ClickSuM){ClickSuM=0; } else StrelkaHide(); timId00=setTimeout("TestClicK(TimeTest)",TimeTest); } var StartPost=a.replace(/^.+(#p\d+).*$/img,"$1"); //Есть в ссылке указание на Пост? if(StartPost!=a){var NumStPost=$(StartPost).attr("alt"); } else {NumStPost=0;StartPost=PostList[0];} var L="<span style=\"float:right;\" ><div style=\"display:none;margin-left:-52px!important;float:right;top:40%;position:fixed;z-index:3000;\"><img id=\"JumperRecords\" class=\"Show\" usemap=\"#JumpRec\" src=\""+img1+"\" /><map name=\"JumpRec\"><area shape=\"poly\" coords=\"34,37, 23,47, 21,47, 21,27, 8,27, 34,3, 60,27, 47,27, 47,47, 45,47\" title=\"К предыдущему Сообщению\"/><area shape=\"poly\" coords=\"34,38, 44,48, 41,49, 41,59, 29,59, 29,49, 24,48\" title=\"к Началу текущего Поста\"/><area shape=\"poly\" coords=\"29,66, 40,66, 40,75, 44,77, 34,88, 24,78, 29,77\" title='к \"Цитировать\"'/><area shape=\"poly\" coords=\"34,122, 8,98, 21,98, 21,78, 23,78, 34,89, 45,78, 47,78, 47,98, 60,98\" title=\"К последующему Сообщению\"/></map></div></span>"; $(StartPost+" .post-box").after(L); var imgMap=$("#JumperRecords") imgMap.parent('div').show(); function Loading_href(){ var L=$("map[name='JumpRec'] area") if(NumStPost<0){NumStPost=MaxNumPst};if(NumStPost>MaxNumPst){NumStPost=0}; L.eq(0).attr("href",PostList[NumStPost]); L.eq(1).attr("href",PostList[NumStPost]); L.eq(2).attr("href",PostList[NumStPost]+"B"); L.eq(3).attr("href",PostList[NumStPost]+JMPswitch); } var NoFirstClick=false,JMPswitch=''; Loading_href(); //Загрузка ClicK_YES=true; $("#JumperRecords").parent('div').dblclick(function(){ //Защита от Анимации по клику на стрелку ClicK_YES=false; }); var TimeTest=20000 timId00=setTimeout("TestClicK(TimeTest)",TimeTest) //Автосворачивание через время TimeTest $(".post").dblclick(function(){ if(ClicK_YES){NumStPost=parseFloat($(this).attr("alt")); StrelkaHide();Strelkshow(); }ClicK_YES=true; }); function TESTandReload(ThisArea){if(NoFirstClick==true){ if(ThisArea.attr("title")=="К предыдущему Сообщению"){NumStPost=NumStPost-1;}; if(ThisArea.attr("title")=="К последующему Сообщению"){NumStPost++;};} if(ThisArea.attr("title")=="к \"Цитировать\""){JMPswitch='B';} if(ThisArea.attr("title")=="к Началу текущего Поста"){JMPswitch='';} Loading_href(); } $("map[name='JumpRec'] area").click(function (){ ClickSuM++;TESTandReload($(this)); NoFirstClick=true; });} </script>
Теги: Новые Скрипты
Отредактировано Deff (2011-09-23 11:38:37)