Своеобразная замена переключателей страниц. Теперь не нужно кликать на ссылки переключателей, скрипт автоматически подгружает материалы со следующей страницы.
Проверен в модулях Каталог Файлов и Каталог статей.
Есть небольшой минус скрипта: если у вас слишком много материалов, то вам придется очень долго прокручивать страницу, чтобы увидеть футер
Не советую ставить на главную страницу Каталога файлов/статей, лучше поставить на страницу со списком материалов раздела/категории, но это вам решать. И так, установка для
Каталога файлов:
ПУ → Управление дизайном → Находим там нужную вам страницу (У нас их 3 на выбор: Главная страница КФ, Страница со списком материалов раздела/категории) → Ищем там
$BODY$ → Заменяем на:
Код
<div id="conter">$BODY$</div>
<div class="selector" id="selector" style="display:none">$PAGE_SELECTOR$</div>
<script type="text/javascript">
if ($("#selector").find(".swchItem:contains('»')").text() == '»') {
$("#selector").after('<div id="nextCont" class="input_submit alt"><div class="u_pos"></div></div>');
};
$(window).scroll(function() {
if($('.u_pos').position().top-$(window).scrollTop() < 1000) {
Conte.to()
}
});
Conte = {
to:function(){
$("#nextCont").html('<div align="center"><img src="/.s/img/icon/ajsml.gif" border="0" /></div>');
nextik = $("#selector").find(".swchItem:contains('»')").attr('onclick').toString();
num = nextik.match(/\d/);
$.get('/load/0-'+num, function(next){
$("#conter").append( $("#conter", next).html() );
$("#selector").html( $("#selector", next).html() );
$("#nextCont").html('<div class="u_pos"></div>');
if ($("#selector", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };
});
}
}
</script>
Для каталога статей:
Принцип такой же, только заменяем на этот код:
Код
<div id="conter">$BODY$</div>
<div class="selector" id="selector" style="display:none">$PAGE_SELECTOR$</div>
<script type="text/javascript">
if ($("#selector").find(".swchItem:contains('»')").text() == '»') {
$("#selector").after('<div id="nextCont" class="input_submit alt"><div class="u_pos"></div></div>');
};
$(window).scroll(function() {
if($('.u_pos').position().top-$(window).scrollTop() < 1000) {
Conte.to()
}
});
Conte = {
to:function(){
$("#nextCont").html('<div align="center"><img src="/.s/img/icon/ajsml.gif" border="0" /></div>');
nextik = $("#selector").find(".swchItem:contains('»')").attr('onclick').toString();
num = nextik.match(/\d/);
$.get('/publ/0-'+num, function(next){
$("#conter").append( $("#conter", next).html() );
$("#selector").html( $("#selector", next).html() );
$("#nextCont").html('<div class="u_pos"></div>');
if ($("#selector", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };
});
}
}
</script>
Также советую убрать код для переключателей страниц, он теперь не нужен. Выглядит примерно так:
Код
<?if($PAGE_SELECTOR1$)?><div style="text-align:center;">$PAGE_SELECTOR1$</div><?endif?>
Этот скрипт можно использовать и для других модулей, достаточно найти вот такую строчку:
Код
$.get('/publ/0-'+num, function(next){
И заменить
publ на нужный вам модуль.
Ещё, если есть желание, можно поменять картинку загрузки. Ищем вот такую строчку:
Код
$("#nextCont").html('<div align="center"><img src="/.s/img/icon/ajsml.gif" border="0" /></div>');
И заменяем картинку
/.s/img/icon/ajsml.gif на свою. Есть один неплохой сервис, с помощью которого можно подобрать для своего сайта хорошую гифку загрузки. Собственно, вот он:
Preloaders На этом все.