`> =`条件不适用于chrome

问题描述 投票:0回答:3

我已编写代码来检查textarea向下滚动。 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

我认为问题是铬不计算textarea高度到最后textarea有一些拖动图标到底为4px ....铬不计算那些但FF4做了。它也不适用于IE9

javascript google-chrome
3个回答
4
投票

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

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


0
投票

逻辑比较qazxsw我肯定在Chrome中工作。

在给定的示例中,在Chrome中进行评估时,>=小于scrolHight。如果没有进一步的代码,也没有关于这些变量在何处以及如何设置的详细信息,则无法说明为什么会发生这种情况。


0
投票

检查是否有任何浮点错误。或者检查是否确实可以进行比较......即,如果它们被定义并且是数字

© www.soinside.com 2019 - 2024. All rights reserved.