标签:
引起这个问题的原因,因为attr返回值为固有属性值,举个例子
<input id="chk1" type="checkbox" />是否可见
<input id="chk2" type="checkbox" checked="checked" />是否可见
$("#chk1").attr("checked") == undefined
$("#chk2").attr("checked") == "checked"
$("#chk1").prop("checked") == false
$("#chk2").prop("checked") == true
所以jQuery推荐对于只有true和false的属性值,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
主要是根据浏览器top高度和客户端可视高度的关系来实现监听,再设置相应的CSS即可实现想要的效果了
$(window).scroll(function(){
//下面这句主要是获取网页的总高度,主要是考虑兼容性所以把Ie支持的documentElement也写了,这个方法至少支持IE8
var htmlHeight=document.body.scrollHeight||document.documentElement.scrollHeight;
//clientHeight是网页在浏览器中的可视高度,
var clientHeight=document.body.clientHeight||document.documentElement.clientHeight;
//scrollTop是浏览器滚动条的top位置,
var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;
var index = parseInt(scrollTop/clientHeight+1/3);
console.log(index);
$(".list-unstyled li").eq(index).addClass("liclass").siblings().removeClass("liclass");//给序号为1的加上红色背景
});
obj是一个json对象,对于这个对象如果用JSON.stringify(row),转换的话,会出错,这个原因不太清楚
tar是父级对象,在这个对象下查找指定id标签
//往指定表单设置值
function setValue(obj,tar) {
// 开始遍历
for (var p in obj) {
// 方法
if (typeof(obj[p]) == "function") {
// obj[p]();
} else {
tar.find("#" + p).val(obj[p]);
// p 为属性名称,obj[p]为对应属性的值
}
}
}
标签:
原文地址:http://blog.csdn.net/u012706811/article/details/51278375