Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Подгрузка страниц при помощи AJAX jQuery

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Подгрузка страниц при помощи AJAX jQuery

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Подгрузка страниц при помощи AJAX jQuery.

Данный хак будет работать на всех версиях ДЛЕ, которые подключают jQuery в теге {headers} (не помню с какой версии начинается). короче чтоб работало все надо чтобы был подключен jQuery.
Вобщем придется редактировать всего один файл: navigation.tpl
в конец шаблона вставляем:

<div id="ajax-next-page" style="display: none;">[next-page][/next-page]</div>
<script type="text/javascript">
    $(function() {
        $(window).scroll(function() {
            if ($(window).scrollTop() > $('body').height()-$(window).height()-10) {
                var nextPage = $('#ajax-next-page a').attr('href');
                if (nextPage !== undefined) {
                    $.ajax({
                        url: nextPage,
                        success: function(data) {
                            $('#ajax-next-page').remove();
                            $('#dle-content').append($('#dle-content', data).html());
                        }
                    })
                }
            }
        });
    });
</script>


как вы уже поняли (надеюсь) это самый примитивнейший вариант. когда юзер скроллит страницу, за 10 пикселей до конца тега 'body' будет выполняться ajax-запрос на следующую страницу.
Код можете редактировать под себя. например, если у вас высокий футер, то вычитаем статично его высоту. если футер иногда меняет свои размеры, например, то просто вычитаем его сосчитанную высоту и тп.

в комментариях могу помогать в особых случаях (так как этот самый примитивный).
спасибо за внимание. в скором будущем напишу статью о AJAX авторизации и регистрации пользователей


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+18
Просмотры: 9 545 :: Комментарии (55) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#21vitnet

  • 7 ноября 2012 21:54
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • +2
Решил я вопрос со страницами и с со скрытием навигации
$('#ajax-next-page').remove();
$('#Здесь ID навигации').remove();
$('#dle-content').append($('#dle-content', data).html());


#22vitnet

  • 8 ноября 2012 02:32
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • +4
jokerok,

#23pops

  • 8 ноября 2012 13:28
  • Регистрация: 5.06.2012
  • Был(а) онлайн: 10.10.2013
  • Комментариев: 8
  • 0
vitnet,
как сделать чтоб Показать еще было и снизу и только один екземпляр, а то у меня что 10 файлов и кнопкаПоказать еще

#24GendolfWhite

  • 12 ноября 2012 20:58
  • Регистрация: 8.11.2010
  • Был(а) онлайн: 15.05.2021
  • Комментариев: 135
  • 0
pops,
Добавь эту кнопку в Main.tpl и закрой тегом на появление только на главной при просмотре списка новостей.

--------------------

#25vitnet

  • 12 ноября 2012 21:21
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
Я же выше привел пример:
<div id="next-page"> // ID навигации
Тут ваши переключатели
<!-- Кнопка Показать еще -->
<span style="float: right;">a onclick="nextPage(); return false;" style="cursor: pointer;">Показать еще</a></span>
<!-- Кнопка Показать еще -->
</div>

#26crysnik

  • 13 ноября 2012 18:10
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 5.02.2019
  • Комментариев: 22
  • 0
а как сделать так чтобы в конце она не отображалась, а то новости закончились а кнопка ещё есть

#27NoEvil

  • 13 ноября 2012 20:38
  • Регистрация: 1.07.2012
  • Был(а) онлайн: 17.04.2018
  • Комментариев: 25
  • 0
Никак не хочет пахать((((DLE 9.7)

--------------------

#28debradis

  • 13 ноября 2012 22:03
  • Регистрация: 25.07.2012
  • Был(а) онлайн: 26.12.2018
  • Комментариев: 6
  • 0
На dle 9.7 работает с глюками

#29vitnet

  • 14 ноября 2012 20:12
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
У кого трабла с кодировкой есть решение:
В файле index.php находим:
$tpl->set ( '{content}', "<div id='dle-content'>" . $tpl->result['content'] . "</div>" );


#30NoEvil

  • 14 ноября 2012 20:39
  • Регистрация: 1.07.2012
  • Был(а) онлайн: 17.04.2018
  • Комментариев: 25
  • 0
Цитата: vitnet


Никак, как были кракозябы, так и есть! dash

--------------------

#31vitnet

  • 14 ноября 2012 21:34
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
Странно! у меня на 2-х сайтах все работает

#32crysnik

  • 16 ноября 2012 01:09
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 5.02.2019
  • Комментариев: 22
  • 0
а как сделать так чтобы в конце она не отображалась, а то новости закончились а кнопка ещё есть

#33pops

  • 16 ноября 2012 14:50
  • Регистрация: 5.06.2012
  • Был(а) онлайн: 10.10.2013
  • Комментариев: 8
  • 0
crysnik,
Да и мне интересно как так сделать clapping

#34vitnet

  • 17 ноября 2012 01:15
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
crysnik,
Я так понимаю нужно определять if (nextPage !== undefined) { и в случае пустого значения передать кнопке .remove(); или hidden

#35vitnet

  • 17 ноября 2012 05:32
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • +1
vitnet,
Есть решение! но иногда кнопка глючит, пропадает не дойдя до последней страницы mail

#36torotoro

  • 17 ноября 2012 16:32
  • Регистрация: 21.10.2012
  • Был(а) онлайн: 26.11.2012
  • Комментариев: 4
  • 0
Классно!!!!!!!!!

Блин! перестало все работать

#37crysnik

  • 17 ноября 2012 23:19
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 5.02.2019
  • Комментариев: 22
  • 0
не работает, после второй страницы исчезает

#38vitnet

  • 17 ноября 2012 23:34
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
crysnik,
Нужно дождаться Андрея, он силен в этом!

#39crysnik

  • 18 ноября 2012 00:03
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 5.02.2019
  • Комментариев: 22
  • 0
vitnet, подождём

#40djgelius

  • 18 ноября 2012 17:18
  • Регистрация: 16.08.2011
  • Был(а) онлайн: 13.08.2024
  • Комментариев: 10
  • 0
на 9,4 не пашет

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: