gpt4 book ai didi

javascript - Opera 在 scrollTop 上产生分数值

转载 作者:行者123 更新时间:2023-11-30 15:21:30 26 4
gpt4 key购买 nike

这是处理 <div> 上的滚动条的更大程序的一部分。修改高度时。

当记录用于移动滚动条的各种值的输出时,会出现一个问题,即生成的值带有小数位,但仅限于 Opera(版本 44.0.2510.1449),而且这只发生在我 friend 的浏览器上。在我自己的 Opera(版本 44.0.2510.1449)上,我没有遇到同样的问题。

虽然这可能无关紧要,但这段代码的目的是找出滚动条在 ID 为 #mydiv 的 div 中的位置。并根据结果做一些事情。

更改变量名的类似代码:

var myDivHeight = $('#mydiv').height();
$('#mydiv').height(myDivHeight + 50); //10 extra for padding
var scrollTop = $('#mydiv').scrollTop();
var scrollHeight = $('#mydiv').prop('scrollHeight');
console.log(scrollHeight + '-' + scrollTop + '=' + (scrollHeight - scrollTop));
console.log(myDivHeight + 60);

注意:60是由于页面动态变化,所以div的高度也发生了变化。输出结果应该是 scrollHeight - scrollTop = myDivHeight + 60 .

这是我 friend 在 Opera 上的控制台输出(给出小数 scrollTop):

Friend's Opera console output

这是我在 Opera 上的控制台输出:

My Opera console output

这是 Chrome 上的控制台输出:

My Chrome console output

这是 Firefox 的控制台输出:

My Firefox console output

我找不到其他人报告此事。有其他人报告或看到过吗?有什么办法可以克服这个问题吗?

谢谢。

最佳答案

事实证明,花时间提出问题有助于我自己回答问题。

首先,要克服这个问题,是使用Math.round(scrollTop.value)的情况。

scrollTop 的规范显示它是一个 unrestricted double数据类型,因此 Opera 在规范内处理此问题。引用:https://drafts.csswg.org/cssom-view/#dom-element-scrolltop

在类型从整数更改为数字之前在 jQuery 中出现的问题:https://github.com/jquery/api.jquery.com/issues/608

关于javascript - Opera 在 scrollTop 上产生分数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43659331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com