fixbar控制的是有滚动条的元素。
而layuie有滚动条的元素是Layout里面的layadmin-tabsbody-item,加一个识别ID,可以操作。fixbar不起作用主要是因为不知道哪个元素在scroll。
<!-- 主体内容 -->
<div class="layui-body" id="LAY_app_body" >
<div class="layadmin-tabsbody-item layui-show" id="scrolldiv" >
</div>
</div>
var $scrodiv=$("#scrolldiv")
//监听scroll //右下角上滑至顶图标
$scrodiv.scroll(function(){
//获取当前滚动条高度
var topp =$scrodiv.scrollTop()
,$fb=$(".layui-fixbar");
//判断如果滚动条大于90则弹出fixbar
// console.log(topp);
if(topp > 90){
//显示右下角模块
$fb.css('display','block');
//加载右下角小工具
util.fixbar({
top: true
, css: { right: 15, bottom: 35}
, bgcolor: '#009688 !important;display:block;'
, showHeight: 200
, click: function (type) {
if (type === 'top') {
$scrodiv.animate({"scrollTop":0},100);
}
}
});
}
else{
//隐藏右下角小模块
$fb.css('display','none');
}
});
JQ滚动条监听事件
$(document).ready(function(){//在文档加载完毕后执行
$(window).scroll(function(){//开始监听滚动条
//获取当前滚动条高度
var topp = $(document).scrollTop();
//用于调试 弹出当前滚动条高度
//alert(topp);
//判断如果滚动条大于90则弹出 "ok"
if(topp > 90){
//alert("ok");
}
})
})
//语法
$(window).scrollTop();//获取垂直滚动条距离文档头部的高度
$(document).scrollLeft() //获取水平滚动条的距离
$(document).height() //获取整个页面的高度
$(window).height() //获取当前,也就是你浏览器所能看到的页面的那部分的高度,这个大小在你缩放浏览器窗口大小,会改变,与document是不一样的
JQ滚动条监听事件原文: http://renpengpeng.com/619.html
受启发文章