Javascript滚动和验证表单
我想通知客人,他跳过了重要表格部分。 这就是为什么当他滚动时,我想将背景色div改为其他颜色,并且没有检查任何人输入或向输入写入文本 我写了一些这样的Javascript滚动和验证表单,javascript,Javascript,我想通知客人,他跳过了重要表格部分。 这就是为什么当他滚动时,我想将背景色div改为其他颜色,并且没有检查任何人输入或向输入写入文本 我写了一些这样的 $(function(){ $(document).scroll(function(){ if($(this).scrollTop() >= $('#questrow1').offset().top - -100) && document.getElementsByClassName("wiztype").check
$(function(){
$(document).scroll(function(){
if($(this).scrollTop() >= $('#questrow1').offset().top - -100) && document.getElementsByClassName("wiztype").checked = false; {
$("#questrow1").addClass('redback');
}
});
});
没有这个
&& document.getElementsByClassName("wiztype").checked = false;
彩色化很好,但检查输入必须有效。
=
不会比较值,而是分配值。下面是更新的表达式-
$(function() {
$(document).scroll(function() {
if (($(this).scrollTop() >= ($('#questrow1').offset().top - -100)) && !document.getElementsByClassName("wiztype").checked) {
$("#questrow1").addClass('redback');
}
});
});
=false
不是比较而是赋值。您需要==
(或者简单地否定checked属性,因为您需要false
)
但是,getElementsByClassName
返回元素的集合,因此需要循环所有元素
而且-100
只是+100
$(function(){
$(document).scroll(function(){
var checkboxes = document.getElementsByClassName("wiztype");
var hasChecked = false;
for(var i = 0; i < checkboxes.length; ++i) {
if(checkboxes.item(i).checked) {
hasChecked = true;
break;
}
}
if($(this).scrollTop() >= $('#questrow1').offset().top + 100 && !hasChecked) {
$("#questrow1").addClass('redback');
}
});
});
$(函数(){
$(文档)。滚动(函数(){
var复选框=document.getElementsByClassName(“wiztype”);
var hasChecked=false;
对于(变量i=0;i=$('#questrow1').offset().top+100&&!已选中){
$(“#questrow1”).addClass('redback');
}
});
});