在 windows 中将y居中鼠标悬停时缩放的html表格单元格< td>(溢出)

pepwfjgg  于 2022-12-09  发布在  Windows
关注(0)|答案(1)|浏览(125)

尊敬的社区成员:
我已经建立了一个系统的颜色图表,显示在html表。
每个单元格都通过鼠标悬停时的缩放变换放大,以更好地显示颜色。
但是,缩放单元格时,单元格的一部分可能会落在视口之外。
这将需要用户向下或向上滚动以将溢出带回视图中。
我认为可以有一个检测溢出和自动滚动的功能,以将缩放后的单元格带回视口:我们怎么能这样做呢?
我曾寻找类似问题的解决方案,但我未能将代码片段组合在一起使其工作(有几件事对我的编程技能来说是先进的,感谢您的善意理解和帮助)
该职能需要:
1.获取onmouseover单元格变换后在视口中的位置:scale
1.计算到视口垂直中心的y差值
1.滚动这个量
也许更简单的替代方法是:
1.获取onmouseover单元格在视口中的位置(独立于transform:scale)
1.计算到视口垂直中心的y差值
1.滚动这个量
但在第二种情况下,检查床可能会不断移动,无法使用(转换:缩放带有小延迟,以避免人机工程学问题)
谢谢你的帮助

b4lqfgs4

b4lqfgs41#

我不确定我是否理解正确,如果我说错了,请纠正我,我会努力纠正自己。您希望滚动一段距离,以便选定(鼠标悬停)的单元格位于页面中间。
我建议:
1.鼠标悬停时获取单元格的Y位置
var from_top = document.getElementById('your_cell_element').offsetTop;
1.获取单元格的高度(然后除以2,使其位于中间)
var cell_height = document.getElementById('your_cell_element').offsetHeight/2;
1.滚动到右侧位置
window.scrollTo(0,(from_top+cell_height));
它可能需要根据你的确切代码小更正,你可以尝试分享它,如果这dooesn't工作.

相关问题