`> =`条件不适用于chrome

时间:2011-06-05 18:14:10

标签: javascript google-chrome

我已编写代码来检查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

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

逻辑比较>=肯定在Chrome中有效。

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

答案 2 :(得分:0)

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