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

اسکرول بی نهایت روش مدرن و روان تری برای بارگیری داده ها در مقایسه با صفحه بندی سنتی ارائه می دهد. به جای کلیک بر روی پیوندهای صفحه بندی، داده های جدید به طور خودکار بارگیری می شوند که کاربر صفحه را به پایین اسکرول می کند.
پیش نیازها
- آشنایی اولیه با لاراول و جی کوئری
- یک پروژه لاراول با یک مدل برای صفحه بندی (به عنوان مثال، کاربر).
مرحله 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`
با پیاده سازی اسکرول بی نهایت با لاراول و جی کوئری، می توانید تجربه کاربری روان تری را ارائه دهید. این رویکرد نیاز به پیوندهای صفحه بندی را از بین می برد و به طور خودکار محتوا را با اسکرول کاربر بارگیری می کند.
لذت ببرید!