webcito/query-lazy
Composer 安装命令:
composer require webcito/query-lazy
包简介
A simple jQuery plugin to load elements only when they are needed during scrolling.
README 文档
README
A simple jQuery plugin to load elements only when they are needed during scrolling.
Introduction
Set the attribute [data-lazy-src] to an image so that the plugin knows which image should be loaded. It can also be
set to other elements to load the background image for the parent element.
If the [data-lazy-url] attribute is set to an element, the content is fetched using ajax.
Make sure that the elements that are loaded via the plugin have a minimum height;
otherwise it can happen that all elements are loaded at once.
For example like this:
.lazy-waiting { display: block; visibility: hidden; min-height: 300px; }
The plugin provides you with 4 classes to handle this.
lazy-waitingThis class receives every element that is initialized via the plugin.lazy-loadingThis class is assigned to each element via which the plugin is requested to load.lazy-doneThis class is set on every element that has finished loading.
Another example:
body.lazy-done { background-size: cover; background-repeat: no-repeat; background-attachment: fixed; }
Installation
- Download the plugin uncompressed, minified
- Or load the plugin via composer
composer require webcito/query-lazy:dev-main
- Include the plugin in your project at the end of the body tag. Make sure that jQuery is loaded first.
<script src="./vendor/components/jquery/jquery.min.js"></script> <script src="./dist/jquery-lazy.min.js"></script>
Usage
Set the attribute [data-lazy-{src,url}] to all elements that should be loaded lazy.
<div data-lazy-src="path/to/img.file"> <img data-lazy-src="path/to/img.file" src="" alt=""/> <div data-lazy-url="./demo/content.html"></div> </div>
Initialize the plugin
$('[data-lazy-src], [data-lazy-url]').lazy(options);
Options
| name | type | default | description |
|---|---|---|---|
| recursive | bool |
true |
If the value is true, additional lazy elements are searched for and initialized in elements that are loaded via ajax (data-lazy-url). |
| classStatic | string |
'lazy' |
The class is set for each element and is not changed further. |
| classWaiting | string |
'lazy-waiting' |
This class receives every element that is initialized via the plugin. |
| classLoading | string |
'lazy-loading' |
This class is assigned to each element via which the plugin is requested to load. |
| classDone | string |
'lazy-done' |
This class is set on every element that has finished loading. |
| onBeforeLoad | function |
(element) => {} |
The function is triggered before an element receives its content. |
| onLoad | function |
(element, width, height, scrollY, scrollX) => {} |
The function is triggered when an element has received its content. |
| onError | function |
(element) => {} |
The function is triggered if an element could not receive its content. |
| onCompleted | function |
() => {} |
The function is triggered once all elements have received their content. |
Events
| name | params | description |
|---|---|---|
beforeLoad.lazy |
e | Fires on every element before it is loaded |
loaded.lazy |
e, width, height, scrollY, scrollX | Fires on any element after it has been loaded |
Further information
After an element has been loaded, the attributes data-lazy-src and data-lazy-url are removed from the element.
webcito/query-lazy 适用场景与选型建议
webcito/query-lazy 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 28 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 11 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 webcito/query-lazy 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 webcito/query-lazy 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 28
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 21
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2023-11-06
