如何在文本上实现延迟加载
How to implement lazy load on text
我有一个ASP.NET MVC应用程序模块,它为用户提供日志数据。MVC页面有一个过滤器,它通过Ajax检索过滤器选择的数据,其值如1周、2周、3周等。
这是我为日志服务的功能
[HttpGet]
public ActionResult GetLogs(DateTime startDate, DateTime endDate)
{
var logs = applicationService.GetAllLogs(startDate, endDate).OrderByDescending(x => x.DateTime).ToList();
return PartialView(logs);
}
这是我的部分视图
@model IEnumerable<ApplicationLogObj>
<table style="width:100%">
@foreach (var log in Model)
{
<text>
<tr>
<td>
<em>@log.DateTime.ToString("MM/dd/yyyy HH:mm:ss") </em>
</td>
<td>
@log.UserName
</td>
<td>
@log.Action on @log.Module
</td>
</tr>
</text>
}
</table>
下面是我正在运行的jquery函数,用于在主页面上显示日志。
$(function () {
$("#btn1Week").click(function () {
var start = '@DateTime.Now.AddDays(-7).ToString("MM/dd/yyyy")';
var end = '@DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss")';
getLogs(start, end);
});
$("#btn2Week").click(function () {
var start = '@DateTime.Now.AddDays(-14).ToString("MM/dd/yyyy")';
var end = '@DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss")';
getLogs(start, end);
});
$("#btn3Week").click(function () {
var start = '@DateTime.Now.AddDays(-21).ToString("MM/dd/yyyy")';
var end = '@DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss")';
getLogs(start, end);
});
function getLogs(start, end) {
$.ajax({
type: "GET",
url: "/AppLogs/GetLogs",
dataType: 'html',
data: { startDate:start, endDate:end },
contentType: "application/html; charset=utf-8",
success: function (result) {
$("#logDiv").html(result);
}
});
}
});
该应用程序运行良好,但问题是仅一周的日志就包含500多条记录。因此,当用户点击(比如3周)时,HTML需要很长时间才能被解析并提供给主应用程序,有时脚本会进入非响应模式,提示用户停止脚本。
有没有一种简单的方法可以实现所谓的"懒惰加载",这样我就可以在用户向下滚动屏幕时提供日志(就像谷歌图像搜索中发生的那样)?
将感谢您的帮助。谢谢
答案是jScroll(http://jscroll.com/#examples)。它符合目的。
您可以尝试这个项目:https://github.com/boylegu/vue-lazyload-text具有懒散支持的高性能魔术文本。
相关文章:
- 延迟加载jquery后替换$(document).ready(function)
- 延迟加载背景图像时防止双重请求
- 延迟加载 脚本加载和/或执行
- 使jquery延迟加载插件在视口内工作
- 如何在水平滚动 Jquery 上实现延迟加载
- 如何使用angularjs延迟加载谷歌jsapi图表
- 使用requirejs对延迟加载成员模块进行Typescript
- 淘汰具有延迟加载的多选下拉列表
- Kendo UI树视图中的延迟加载(带缓存)
- 使用Twitter引导程序's Scrollspy到延迟加载(滚动加载)异步JavaScript
- Javascript客户端从ASP.NET MVC后端延迟加载模型
- 在featherlight.js中延迟加载iFrame
- 如何包含多个JS文件-延迟加载javascript
- 使用筛选延迟加载项目
- AngularJS正在等待CSS延迟加载
- 如何在文本上实现延迟加载
- 如何使用 RequireJS 实现延迟加载
- 如何使用ReactJS实现延迟加载功能(append child不适用于React)
- 我可以用jqGrid实现延迟加载吗
- 如何实现容器类的延迟加载