码迷,mamicode.com
首页 > Web开发 > 详细

jQuery学习小问题记录

时间:2016-04-29 15:26:52      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

1.关于attr对复选框二次全选失效

引起这个问题的原因,因为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()


2.Jq实现滚动监听

主要是根据浏览器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的加上红色背景
    });

3.jquery填充json数据到指定id标签

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]为对应属性的值

        }
    }
}

jQuery学习小问题记录

标签:

原文地址:http://blog.csdn.net/u012706811/article/details/51278375

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!