layui鼠标按住表格左右移动
时间: 2023-11-15 10:48:28 浏览: 130
左右表格互移
在layui中,可以通过lay-table的设置实现鼠标按住表格左右移动的效果。具体步骤如下:
1. 引入layui库和相关样式文件:
```html
<link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.6.8/css/layui.css">
<script src="https://cdn.staticfile.org/layui/2.6.8/layui.js"></script>
```
2. 创建一个表格:
```html
<table id="demo" lay-filter="test"></table>
```
3. 使用layui的table模块渲染表格,并设置相应的配置项:
```javascript
layui.use('table', function(){
var table = layui.table;
table.render({
elem: '#demo',
url: '数据接口',
cols: [[
// 列定义
]],
done: function(){
// 表格渲染完成后执行的回调函数
var tableBox = document.querySelector('.layui-table-box');
var tableHeader = tableBox.querySelector('.layui-table-header');
// 监听表格头部的鼠标按下事件
tableHeader.addEventListener('mousedown', function(e){
// 记录当前鼠标的水平位置
var startX = e.clientX;
// 鼠标按下时的回调函数
function onMouseMove(e) {
// 计算鼠标移动的距离
var moveX = e.clientX - startX;
// 设置表格内容的水平滚动距离
tableBox.querySelector('.layui-table-body').scrollLeft += moveX;
// 更新鼠标的水平位置
startX = e.clientX;
}
// 监听鼠标移动和释放事件
document.addEventListener('mousemove', onMouseMove);
document.addEventListener('mouseup', function(){
// 当鼠标释放时,移除鼠标移动事件的监听
document.removeEventListener('mousemove', onMouseMove);
});
// 阻止默认的文本选中效果
e.preventDefault();
});
}
});
});
```
以上代码在表格头部的鼠标按下事件中,通过计算鼠标移动的距离,根据移动距离设置表格内容的水平滚动距离,实现了鼠标按住表格左右移动的效果。
阅读全文