我已编写代码来检查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
答案 0 :(得分:4)
您需要使用.prop()
代替.attr()
,或者,如果您的旧jQuery版本不支持.prop()
,请使用.removeAttr('disabled')
重新启用该按钮。
哦,你的var名称中有拼写错误 - 它们应该是scrollHeight
和actualHeight
。
答案 1 :(得分:0)
逻辑比较>=
肯定在Chrome中有效。
在给定的示例中,在Chrome中进行评估时,scrolHight
小于 acutalHight
。如果没有进一步的代码,也没有关于这些变量在何处以及如何设置的详细信息,则无法说明为什么会发生这种情况。
答案 2 :(得分:0)
检查是否存在任何浮点错误。 或者检查是否确实可以进行比较......即,如果它们被定义并且是数字