`>=`铬不起作用

`>=` condition not working in chrome

本文关键字:不起作用 gt      更新时间:2023-09-26

我已经编写了代码来检查文本区域向下滚动。Mcode在FF4中运行良好,但在Chrome中运行不佳。

 var psconsole = $('#tos');
            //psconsole.scrollTop(psconsole[0].scrollHeight - psconsole.height());
            psconsole.scroll(function(){
            var acutalHight = psconsole[0].scrollHeight - psconsole.height();
            var scrolHight = psconsole[0].scrollTop ;
            console.log("scrolHight:" + scrolHight + "<<<<>>>>>"+ "acutalHight:" +acutalHight);
                    if(scrolHight+10 >= acutalHight){
                        $("#btnSignup").attr("disabled", false);
                    }else{
                        $("#btnSignup").attr("disabled", true);
                    }                       

            });

如果条件>=在Chrome 中不工作

同时滚动scrolHight值和acutalHeight值,如下所示

scrolHight:2627<<<<>>>>>acutalHight:2696
scrolHight:2639<<<<>>>>>acutalHight:2696
scrolHight:2651<<<<>>>>>acutalHight:2696
scrolHight:2675<<<<>>>>>acutalHight:2696
scrolHight:2687<<<<>>>>>acutalHight:2696
scrolHight:2696<<<<>>>>>acutalHight:2696

在chrome中,我得到的滚动值如下

doSignUp:179scrolHight:1862<<<<>>>>>acutalHight:2686
doSignUp:179scrolHight:2128<<<<>>>>>acutalHight:2686
doSignUp:179scrolHight:2394<<<<>>>>>acutalHight:2686
doSignUp:179scrolHight:2660<<<<>>>>>acutalHight:2686
doSignUp:179scrolHight:2670<<<<>>>>>acutalHight:2686
doSignUp:179scrolHight:2682<<<<>>>>>acutalHight:2686

我认为问题是chrome没有计算到文本区域末尾的高度。文本区域末尾有一些拖动图标,用于4px。。。。chrome没有计算这些,但FF4计算了。它在IE9中也不起作用

您需要使用.prop()而不是.attr(),或者,如果您的旧jQuery版本不支持.prop(),请使用.removeAttr('disabled')重新启用按钮。。

哦,你的var名称中有拼写错误——它们应该是scrollHeightactualHeight

逻辑比较>=在Chrome中确实有效。

在给定的示例中,在Chrome中进行评估时,scrolHight小于acutalHight。如果没有进一步的代码,也没有这些变量在哪里以及如何设置的详细信息,就不可能说出为什么会发生这种情况。

检查是否存在浮点错误。或者检查一下是否真的可以比较。。。即,如果它们被定义并且是编号