برنامه نویسی

پیاده سازی بی نهایت اسکرول با لاراول و جی کوئری

اسکرول بی نهایت روش مدرن و روان تری برای بارگیری داده ها در مقایسه با صفحه بندی سنتی ارائه می دهد. به جای کلیک بر روی پیوندهای صفحه بندی، داده های جدید به طور خودکار بارگیری می شوند که کاربر صفحه را به پایین اسکرول می کند.

پیش نیازها

  • آشنایی اولیه با لاراول و جی کوئری
  • یک پروژه لاراول با یک مدل برای صفحه بندی (به عنوان مثال، کاربر).

مرحله 1: راه اندازی لاراول برای صفحه بندی

ابتدا، کنترلر خود را برای مدیریت صفحه بندی تنظیم کنید:

// In your UserController
public function index(Request $request)
{
    $users = User::paginate(10); // Paginate the results, 10 per page

    if ($request->ajax()) {
        return view('users.partials.users_list', compact('users'))->render();
    }

    return view('users.index', compact('users'));
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: نمای را ایجاد کنید

ایجاد نما برای نمایش داده های صفحه بندی شده:

resources/views/users/index.blade.php

@extends('layouts.app')

@section('content')
div id="user-list">
    @include('users.partials.users_list', ['users' => $users])
div>
div id="loading" style="text-align:center; display:none;">
    p>Loading more users...p>
div>
@endsection
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

resources/views/users/partials/users_list.blade.php

@foreach($users as $user)
tr>
    td>{{ $user->name }}td>
    td>{{ $user->email }}td>
tr>
@endforeach
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: پیاده سازی jQuery برای Infinite Scroll

اکنون، اسکریپت جی کوئری خود را برای پشتیبانی از اسکرول بی نهایت تغییر دهید:
public/js/infinite-scroll.js

$(document).ready(function() {
    let page = 1;

    $(window).scroll(function() {
        if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100) {
            page++;
            loadMoreData(page);
        }
    });

    function loadMoreData(page) {
        $.ajax({
            url: '?page=' + page,
            method: 'GET',
            beforeSend: function() {
                $('#loading').show();
            },
            success: function(data) {
                if (data.trim() === "") {
                    return;
                }
                $('#loading').hide();
                $('#user-list').append(data);
            },
            error: function(xhr) {
                console.log(xhr.responseText);
            }
        });
    }
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این اسکریپت را در نمای اصلی خود قرار دهید:

@section('scripts')
script src="{{ asset('js/infinite-scroll.js') }}">script>
@endsection`
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با پیاده سازی اسکرول بی نهایت با لاراول و جی کوئری، می توانید تجربه کاربری روان تری را ارائه دهید. این رویکرد نیاز به پیوندهای صفحه بندی را از بین می برد و به طور خودکار محتوا را با اسکرول کاربر بارگیری می کند.

لذت ببرید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا