涉及到滚动条的定位问题,主要是Jquery 中 offset() 方法

效果是:一进来页面,传入某个li的id,通过这个id来让滚动条定位到这个位置,如果不传直接返回,传入的话,通过 $(selector).offset().top;的方法,获得偏移值,然后让外层的ul做一个动画效果去移动

// 实现滚动条的定位
Base.ScrollToRead = function(sid) {
//当使用滚动条,并默认读消息被隐藏时,触发滚动条滚动
if ((‘#’ + sid).length == 0) {  
        return true;  
    }  
    var t = parseInt(
(‘#’ + sid).offset().top, 10);
if (t <= 460) {
return true;
}
var s = t - 460;
$(‘.dialog-div>ul’).animate({ scrollTop: s }, 100);
}

1、 返回偏移坐标

     $(selector).offset();

     top: $(selector).offset().top;

     left: $(selector).offset().left;

2、设置偏移坐标:

     $(selector).offset({top:value,left:value});

     参数的含义:{top:value,left:value}     当设置偏移时是必需的。规定以像素为单位的 top 和 left 坐标。

     可能的值:(1)、名/值对,比如 {top:100,left:100} ,  (2)、一个带有 top 和 left 的对象(实例)



3、使用函数设置偏移坐标:

    $(selector).offset(function(index,currentoffset));

    可选。规定返回包含 top 和 left 坐标的对象的函数。
    index - 返回集合中元素的 index 位置。
    currentoffset - 返回被选元素的当前坐标。

offset() 方法 返回的top , left. 跟 margin-top,margin-left 也有关系。

  如果元素有margin-top,margin-left. 它获取当前的margin. 没有则是默认取值。

  如果父元素也有margin,broder 的话。它也会受到影响。取值要更大。 因为offset() 取的当前与文档的偏移坐标。

参考博客:http://www.cnblogs.com/htwdz-qhm/p/3967974.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值