启用按钮,在启用滚动条之前单击加载数据
enable button to load data on click until scroll bar is enabled
我在页面上加载数据,并使用无限滚动来加载更多的数据,因为用户滚动(默认20项页面加载。但根据屏幕分辨率(如1080),页面加载时垂直滚动条不可见或不活动,用户无法滚动。我添加了一个按钮,让用户点击加载更多,当他们滚动加载按钮将隐藏。
问题:在页面加载时,如果垂直滚动是活动的或可见的,我如何从一开始就隐藏按钮,而不是第一次滚动它来隐藏。此外,我如何保持加载按钮可见,直到一个垂直栏是活跃的。
div/按钮:
<div id="loadUsers" class="btn" data-bind="click: Next" style="position:fixed; width:auto; height:20px; padding:5px; bottom:10px; ">
Load more users...
</div>
knockout
Next = function () {
var _page = $.views.Roster.ViewModel.CurrentPage() + 1;
$.views.Roster.ViewModel.CurrentPage(_page);
$.views.Roster.GetPage(_page);
};
隐藏加载按钮一旦启用滚动
$(document).ready(function () {
$('#main').scroll(function () {
$('#loadUsers').hide()
var div = $(this);
if (div[0].scrollHeight - div.scrollTop() == div.height()) {
Next();
}
});
});
visible binding:-
<div id="loadUsers" class="btn" data-bind="click: Next, visible: displayBtn()" style="display:none; ">
Load more users...
</div>
脚本:
self.displayBtn= function(){
return ($(document).height() < window.innerHeight);
}
使用这个函数,您可以知道垂直滚动条是否处于活动状态:
var isVBActive = function(){
return ($(document).height() > window.innerHeight);
}
和resize事件可以隐藏或显示按钮:
$(window).resize(function() {
if(isVBActive())
$('#button').hide();
else
$('#button').show();
});
相关文章:
- 无法在启用视差的页面中单击锚链接
- 无法在第一次单击时禁用链接,并在动画完成后重新启用
- 如何在用户单击共享时禁用共享按钮,并在3小时后启用
- 单击每个表格行中的复选框时启用文本框
- 启用/禁用按钮,单击并执行 SQL 时会发生变化
- Jquery Resize问题.如果宽度小于768宽度,请启用“单击选项”.768以上鼠标悬停选项启用
- 如何在只单击一个星形按钮的情况下启用禁用按钮
- 如何使用JavaScript启用右键单击
- 如何启用事件单击仅在指定的小时范围内
- 单击文本框后启用提交按钮
- 在 Javascript 中启用/禁用按钮单击处理程序
- 启用下拉列表仅在单击后悬停
- 如何通过单击浏览器右上角的图像来启用/禁用自定义 chrome 扩展程序
- 如何禁用和启用没有特定处理程序名称的单击事件
- 在图像单击时启用 Javascript 功能
- 启用和禁用 jquery 可排序在单击时
- 如何在 Hammer 中启用鼠标右键单击(和中键单击).js
- 如何禁用和启用单击KinectJS形状
- 如何使按钮禁用/启用单击
- 单击启用单击的图像并禁用其他图像