今天项⽬中需要插⼊表格,⽤Excel表格调整列宽时,想怎么拖就怎么拖,于是乎就让插⼊的表格也这么让⼈舒服。⽹上查找许久,没找到好⽤的⽅案。最后发现jQuery UI中的resizable()⽅法可以实现div的⾃由调整,既然可以在div上实现,那表格也应该没问题吧。于是就动⼿折腾,成功搞定。代码详情:main.jsp
<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\" pageEncoding=\"UTF-8\"%>
商品编号 | 商品名称 | 品牌 | 型号 | 规格 | 单位 | 进货价 | 库存数量 | 销售价格 |
---|---|---|---|---|---|---|---|---|
1051181502 | 碧根果 | ⾃产 | 123 | 1*500g | 包 | 10 | 10 | 20 |
实现功能需引⼊jquery-ui.js 和 jquery-ui.css,因为resizable()⽅法会⽣成调⽤相应的class样式。效果图如下:
为table加上 table-layout: fixed; 并为td加上overflow: hidden; 可实现隐藏列中超出内容。
调整功能是实现了,不过右下⾓的这个⼩三⾓就看着让⼈整个就不好了。于是查看源码,发现调⽤了resizable()之后是在th中⽣成了三个div,最后⼀个就是⼩三⾓的样式。
通过js移除⽅式:$(\"th > div:last-child\").removeClass();
另外通过分析resizable()的源码实现,也可以直接修改源码移除⼩三⾓。
在jquery-ui.js中找到下⾯这段,将classes删除或将值置空即可。最后⼩三⾓就没了。
\"ui-resizable-se\":\"\"
$.widget( \"ui.resizable\ version: \"1.12.1\
widgetEventPrefix: \"resize\ options: {
alsoResize: false, animate: false,
animateDuration: \"slow\ animateEasing: \"swing\ aspectRatio: false, autoHide: false, classes: {
\"ui-resizable-se\": \"ui-icon ui-icon-gripsmall-diagonal-se\" },
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务