您的位置:首页 > 移动开发

如何定位到append的当前位置,不用拉滚动条scrollIntoView方法

2015-01-09 18:10 721 查看
var bb_mes_con = $('bb_mes_con');
var mes_html = document.createElement('div');
mes_html.setAttribute('id', 'mes_html');
mes_html.innerHTML = "<span class='bot'></span><span class='top'></span>"+data;
bb_mes_con.appendChild(mes_html);
mes_html.scrollIntoView();


我们向一个设置了overflow:auto的div里面插入元素,到达div的设置高度后就会出现滚动条,我们可以用元素的scrollIntoView()方法快速定位到当前元素,而不需要取获取scrollTop设置scrollTop之类的东西,scrollIntoView兼容ie6,所以可以放心的使用;

更新一下:

scrollIntoView虽然兼容ie6,但是最近发现一个ie6下面的bug,就是如果定位的当前窗口不是body的话,在定位的时候ie6会 联动body的滚动条:如下图所示



所以要做ie6的兼容处理:方法如下

if((mes_html.offsetTop+mes_html.offsetHeight-bb_mes_con.offsetHeight) >= 0){
  bb_mes_con.scrollTop = mes_html.offsetTop+mes_html.offsetHeight-bb_mes_con.offsetHeight+5;//+5是为了让最下面的mes_html有一个间隙
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: