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

Провеббер » 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 531 :: Комментарии (55) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1ShoMpeT

  • 4 ноября 2012 07:43
  • Регистрация: 10.05.2010
  • Был(а) онлайн: 20.10.2019
  • Комментариев: 13
  • +2
Not working for me in DLE 9.7, but thanks a lot dance

#2daiv777

  • 4 ноября 2012 08:10
  • Регистрация: 6.04.2011
  • Был(а) онлайн: 29.08.2023
  • Комментариев: 279
  • +1
ShoMpeT,
у меня тоже не работает зато уже 15 плюсов к рейтингу публикации.

#3Sibiriak

  • 4 ноября 2012 15:37
  • Регистрация: 6.05.2012
  • Был(а) онлайн: 10.01.2021
  • Комментариев: 163
  • +1
9.7 - тоже не работает ...

такая же беда и на 9.5 ...

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

#4Cresis

  • 4 ноября 2012 16:15
  • Регистрация: 18.07.2011
  • Был(а) онлайн: 3.11.2023
  • Комментариев: 282
  • +1
Похоже все плюсы выставленные данной новости, не за работоспособность а за содержание новости.

#5raler

  • 4 ноября 2012 16:39
  • Регистрация: 10.10.2012
  • Был(а) онлайн: 14.07.2014
  • Комментариев: 7
  • 0
попробуйте заменить условие на
$(window).scrollTop() + 10 >= ($(document).height() - ($(window).height()))

у меня все работает на 9.6, 9.7

#6(ppoe)

  • 4 ноября 2012 16:53
  • Регистрация: 8.12.2010
  • Был(а) онлайн: 4.11.2024
  • Комментариев: 103
  • 0
raler, не выходит

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

#7jokerok

  • 4 ноября 2012 18:05
  • Регистрация: 6.12.2011
  • Был(а) онлайн: 7.08.2014
  • Комментариев: 13
  • +3
raler,
Можете пожалуйста немного модернизировать хак, чтобы над навигацией была кнопка "Показать еще новостей" и ajax работал только после нажатия на кнопку? Не все пользователи сайта одобряют автоподгрузку и хорошо бы дать им выбор - нажать на кнопку и смотреть посты по аяксу или не нажать и использовать классическую навигацию...

#8jokerok

  • 4 ноября 2012 18:27
  • Регистрация: 6.12.2011
  • Был(а) онлайн: 7.08.2014
  • Комментариев: 13
  • +1
И реально ли сделать автопоявление новых постов без обновления страницы? Как вконтактах...

#9249893

  • 4 ноября 2012 19:05
  • Регистрация: 14.09.2011
  • Был(а) онлайн: 16.06.2021
  • Комментариев: 14
  • 0
raler,
привет а можешь сделать так:

у меня стоит блок случайных новостей, чтоб пользователи нажимали на кнопку (ПОКАЗАТЬ ДРУГИЕ НОВОСТИ) и им показывались другие случайные новости?

#10crysnik

  • 4 ноября 2012 23:49
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 5.02.2019
  • Комментариев: 22
  • 0
просто на новых версиях DLE не [next-page][/next-page], а [next-link][/next-link]

#11vitnet

  • 5 ноября 2012 00:52
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
И еще в место 3/4/5 и.т.д открывается 2-я страница

#12crysnik

  • 5 ноября 2012 02:15
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 5.02.2019
  • Комментариев: 22
  • 0
ага у меня почти тоже самое

#13Sinsei

  • 5 ноября 2012 06:40
  • Регистрация: 11.09.2011
  • Был(а) онлайн: 1.01.2024
  • Комментариев: 32
  • -1
<div id="ajax-next-page" style="display: none;">[next-link][/next-link]</div>
<script type="text/javascript">
$(function() {
$(window).scroll(function() {
if ($(window).scrollTop() > $('body').height()-$(window).height()-1) {
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>


#14raler

  • 5 ноября 2012 11:53
  • Регистрация: 10.10.2012
  • Был(а) онлайн: 14.07.2014
  • Комментариев: 7
  • +1
прошу прощения, да, надо [next-link] а не [next-page]

#15victor200

  • 5 ноября 2012 12:25
  • Регистрация: 30.01.2010
  • Был(а) онлайн: 14.04.2015
  • Комментариев: 145
  • -1
Sinsei,
после вставки у меня поменялся шрифт

как изменить чтоб шрифт остался прежним.


Sinsei,
после вставки у меня поменялся шрифт
http://picbit.net/view/05112012/1352103464871.png
как изменить чтоб шрифт остался прежним.

#16BR0kEN

  • 5 ноября 2012 13:18
  • Регистрация: 29.11.2009
  • Был(а) онлайн: 30.11.2013
  • Комментариев: 255
  • 0
Это не шрифт, а кодировка. Вторая строка .htaccess должна содержать: AddDefaultCharset windows-1251

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

#17victor200

  • 5 ноября 2012 18:07
  • Регистрация: 30.01.2010
  • Был(а) онлайн: 14.04.2015
  • Комментариев: 145
  • 0
все равно так показывает http://picbit.net/view/05112012/1352124303895.png

#18raler

  • 5 ноября 2012 19:50
  • Регистрация: 10.10.2012
  • Был(а) онлайн: 14.07.2014
  • Комментариев: 7
  • 0
шаблон в windows-1251 сохрани.

#19vitnet

  • 5 ноября 2012 20:13
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
raler,
Так как быть со страницами 3,4 и.т.д

#20CreativeBoy

  • 6 ноября 2012 23:36
  • Регистрация: 17.11.2011
  • Был(а) онлайн: 28.01.2015
  • Комментариев: 15
  • 0
Все работает (DLE 9.6) smile

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

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

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