• Страница 1 из 1
  • 1
Модератор форума: JonMagon  
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Подгрузка материалов (Подгрузка материалов)
Подгрузка материалов
ama_dam
Сообщений: 21
Репутация: 0

Сообщение # 1 | 13:52:27
Допустим в модуле Блог у меня есть 13 материалов, на каждой странице показываются только 10 и того у меня получается 2 страницы с материалами /blog/ и /blog/2 теперь я вместо page selector вывожу ссылку Показать еще (Желательно чтобы page selector вообще не использовался) при нажатии у меня выводятся еще материалов но уже со страницы /blog/2 там их было только 3 и ссылка скрывается так как больше страниц нет. Как это реализовать? Дайте ссылку на скрипт или если не сложно помогите))))
ZhekiX
Сообщений: 5
Репутация: 2

Сообщение # 2 | 18:06:50
типо этого? ссылка
ama_dam
Сообщений: 21
Репутация: 0

Сообщение # 3 | 19:43:47
ZhekiX, да но там он для каталога файлов, я вид блога засунул в div id=blogs и через $.get вывожу их на персональную страницу скрипт по ссылке работает через page selector а я не уверен что в моем случаи такой подойтет
Jebox
Сообщений: 9
Репутация: 0

Сообщение # 4 | 22:36:24
Адрес сайта в студию и скрипт.
M-Brook
Сообщений: 215
Репутация: 75

Сообщение # 5 | 02:31:04
Вставьте это на вашу страницу куда хотите )))

Код
$(document).ready(function(){
var meta_data = new Object(); meta_data = {blogs_body:'',this_num_of_pages:'',last_num_of_pages:''}
$.get('/blog/',function(data){meta_data.blogs_body = $('#blogs',data).html(),meta_data.last_num_of_pages = $('#pagesBlock1',data).text(),meta_data.this_num_of_pages=$('.swchItemA:eq(0)',data).text();
$('#ВАШ ID БЛОКА КУДА ВЫГРУЖАЮТСЯ ДАННЫЕ').html(meta_data.blogs_body)})
function get_more() {var next_page = parseInt(meta_data.this_num_of_pages)+1;
$.get('/blog/'+next_page, function(data){meta_data.blogs_body = $('#blogs',data).html();
$('#ВАШ ID БЛОКА КУДА ВЫГРУЖАЮТСЯ ДАННЫЕ').append(meta_data.blogs_body)})
}
});


*не забудьте поменять "ВАШ ID БЛОКА КУДА ВЫГРУЖАЮТСЯ ДАННЫЕ" ))

Удачи!

Спасибо = "+" в репутацию
Любые вопросы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
ama_dam
Сообщений: 21
Репутация: 0

Сообщение # 6 | 14:03:49
M-Brook, а куда ставить? на ПС или блог?

Добавлено (18 Янв 2014, 14:03:49)
---------------------------------------------
M-Brook, где сама ссылка? Напиши по подробней что куда ато я в js ноль и нечего там разобрать не мог)))

M-Brook
Сообщений: 215
Репутация: 75

Сообщение # 7 | 14:25:30
Цитата ama_dam ()
M-Brook, где сама ссылка? Напиши по подробней что куда ато я в js ноль и нечего там разобрать не мог)))

ой ты господи.... )))

- значит смотрите вы написали что вы подгружаете данные блога на страницу = значит этот код ставите в любое место страницы куда будут подгружаться данные из блога
- далее, замените "#ВАШ ID БЛОКА КУДА ВЫГРУЖАЮТСЯ ДАННЫЕ" на id или class (если на класс тогда вместо # ставим точку (.) )
- теперь о работе подгрузчика к вашей кнопке, блоку? или что вы там используете = к объекту с текстом "Показать еще" пропишите onclick="get_more()"

на этом все, если опять не справитесь, тогда попрошу вас дать больше информации по вашему вопросу
Удачи вам

Спасибо = "+" в репутацию
Любые вопросы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
ama_dam
Сообщений: 21
Репутация: 0

Сообщение # 8 | 15:36:18
M-Brook, перекидывает на главную((( вот я вставляю этот скрипт на персональную страницу чтоб он выводил материалы 
Код
<script type="text/javascript">  
  document.write('<span class="h19"></span>');  
  $.get("$_BLOG_ACTIVITY_URL$",  
  function(data) {  
  var ifnohist = $("#blogactiv:first", data).html();  
  if (ifnohist == null) {  
  $('.h19').html('<span style="color:#969696;">Материалов нет</span>');  
  }  
  $("#blogactiv:lt(5)", data).each(function() {  
  var histr = $(this).html();  
  $('.h19').before(histr);  
  }); });  
  </script>

Может с ним можно что то сделать?
M-Brook
Сообщений: 215
Репутация: 75

Сообщение # 9 | 16:06:58
Цитата ama_dam ()
#blogactiv

что это за объек и что он хранит?

Спасибо = "+" в репутацию
Любые вопросы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
ama_dam
Сообщений: 21
Репутация: 0

Сообщение # 10 | 16:29:49
я завернул в него вид материалов блога <div id="blogactiv">Вид материалов здесь</div>
M-Brook
Сообщений: 215
Репутация: 75

Сообщение # 11 | 16:35:50
$('.h19') = находиться после скрипта?!
если да попробуйте завернуть скрипт в $(document).ready(function(){ ..... });

Спасибо = "+" в репутацию
Любые вопросы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
ama_dam
Сообщений: 21
Репутация: 0

Сообщение # 12 | 17:20:31
M-Brook, если можно тут по подробнее. какой скрипт мой или ваш?
M-Brook
Сообщений: 215
Репутация: 75

Сообщение # 13 | 17:26:14
ваш

Спасибо = "+" в репутацию
Любые вопросы по:
- Javascript, jQuery, HTML, CSS
- Верстке макетов и установке их на сайты
- Нестандартным решениям
PorShen
Сообщений: 11
Репутация: 0

Сообщение # 14 | 19:46:38
Собственно улучшил скрипт автоматической подгрузки. Подгрузка работает после нажатия на кнопку: подгрузить и дальше скроллингом.
Однако, на главной не работает. У кого есть какие версии почему?
На главной выведен модуль "Каталог файлов"
В блоге работает
Адрес сайта: тыц
При выводе /blog/ заменяю на /load/ может выводить ?pages
Из собственного расследования выявлено, что блока pagesBlock1 нет, он заменен на pagesBlockuz1 , пытался поменять в скрипте на это - не помогло.
Код
<div id="conter">$BODY$</div>
<button id="loader1">Подгрузить материалы</button>
<script>
if ($("#pagesBlock1").find(".swchItem:contains('»')").text() == '»') {
$("#pagesBlock1").after('<div id="nextCont" class="input_submit alt"><div class="u_pos"></div></div>');
};
var more = true;
$(window).scroll(function() {
if(more) return;
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 = $("#pagesBlock1").find(".swchItem:contains('»')").attr('onclick').toString();
num = nextik.match(/\d/);
$.get('/load/'+num, function(next){
$("#conter").append( $("#conter", next).html() );
$("#pagesBlock1").html( $("#pagesBlock1", next).html() );
$("#nextCont").html('<div class="u_pos"></div>');
if ($("#pagesBlock1", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };
};);
}
}
$("#loader1").click(function() {
more = false;
$(this).hide();
Conte.to()
};);

</script>
Сообщение отредактировал PorShen - Суббота, 06 Окт 2018, 20:15:44
xeon1952
Сообщений: 6
Репутация: 0

Сообщение # 15 | 14:49:26
Добрый день. Имеется  Код

<div id="conter">$BODY$</div>
<style>#pagesBlock1 {display:none;}</style>
<div style="display:none;" id="pagesBlockuz1">$PAGE_SELECTOR$</div>
<script type="text/javascript">
if ($("#pagesBlockuz1").find(".swchItem:contains('»')").text() == '»') {
$("#pagesBlockuz1").after('<br><div id="nextCont" class="goto-photo-kn eGoto-photo" style="display:block;text-align:center;color:#000000"><div onclick="Conti.to();" style="padding:12px;"><b>Смотреть еще</b></div></div>');
};
Conti = {
to:function(){
$("#nextCont").html('<div style="padding:13px"><img src="/skin/icons/load_materials.gif" border="0" /></div>');
nextik = $("#pagesBlockuz1").find(".swchItem:contains('»')").attr('onclick').toString();
num = nextik.match(/\d/);
$.get('/photo/?page'+num, function(next){
$("#conter").append( $("#conter", next).html() );
$("#pagesBlockuz1").html( $("#pagesBlockuz1", next).html() );
$("#nextCont").html('<div onclick="Conti.to();" style="padding:12px;"><b>Смотреть еще</b></div>');
if ($("#pagesBlockuz1", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };
};);
}
}
</script>

Необходимо подгружать фотографии в фотоальбоме с следующей страницы по кнопке "Смотреть еще". Скрипn стоит но не работает в фотоальбоме Данный скрипт работает в каталоге статей если заменить photo на publ. Но в каталоге статей в коде $PAGE_SELECTOR$ имеем onclick="spages('2', this);return false;", чего нет в фотоальбоме., соответственно onklick в скрипте не срабатывает. Не пойму как допилить его.

Добавлено (20 Дек 2022, 18:47:29)
---------------------------------------------
Подкорректировал и добавил определение url  и  присвоение onclick со своим id к ссылкам $PAGE_SELECTOR$. Только есть небольшая проблема: При переходе на 9 страницу, начнет грузить с 1, а не 10ю имея  onclick="spages('10'. На 10й странице тоже самое, начнет грузить с 1й., а не переходить на 11 имея onclick="spages('11'.

<div id="conter">$BODY$</div>
<style>#buttom-last-body{display:flex;flex-direction:column;}#pagesBlockuz1{order:2;}#nextCont{order:1;}</style>
<div id="buttom-last-body"><?if($PAGE_SELECTOR1$)?><div style="margin: 5px 0;text-align:center;" id="pagesBlockuz1">$PAGE_SELECTOR$</div><?endif?>
<script type="text/javascript">
if ($("#pagesBlockuz1").find(".swchItem:contains('»')").text() == '»') {
$("#pagesBlockuz1").after('<br><div id="nextCont" class="goto-photo-kn eGoto-photo" style="display:block;text-align:center;color:#fff"><div onclick="Conti.to();" style="padding:12px;"><b>Смотреть еще</b></div></div>');
const url="$REQUEST_URI$";
var u=url.split("?page")[1];
if(u==undefined) {this.u = '1';}
let unum = Number(u);
var i=unum+1;
var m='?page'+i;
document.addEventListener('DOMContentLoaded', function() {
let words = m.split('|');
let onclick = "spages(" + i + ", this);return false;";
let cls = words.map(a => `[href*="${a}"]`);
document.querySelectorAll(cls).forEach(elem => elem.setAttribute('onclick', onclick));
};);
};
Conti = {
to:function(){
$("#nextCont").html('<div style="padding:13px"><img src="/skin/icons/load_materials.gif" border="0" /></div>');
nextik = $("#pagesBlockuz1").find(".swchItem:contains('»')").attr('onclick').toString();
num = nextik.match(/\d/);
$.get('/photo/?page'+num,i=i+1, function(next){
$("#conter").append( $("#conter", next).html() );
$("#pagesBlockuz1").html( $("#pagesBlockuz1", next).html() );
$("#nextCont").html('<div onclick="Conti.to();" style="padding:12px;"><b>Смотреть еще</b></div>');
$.get(m='?page'+i,function(){
let words = m.split('|');
let onclick = "spages(" + i + ", this);return false;";
let cls = words.map(a => `[href*="${a}"]`);
document.querySelectorAll(cls).forEach(elem => elem.setAttribute('onclick', onclick));
};);
if ($("#pagesBlockuz1", next).find(".swchItem:contains('»')").html() == null) { $("#nextCont").fadeOut(); };
};);
}
}
</script>
</div>
Сообщение отредактировал xeon1952 - Вторник, 20 Дек 2022, 18:56:08
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Подгрузка материалов (Подгрузка материалов)
  • Страница 1 из 1
  • 1
Поиск: