我(wǒ)(wǒ)們在爲客戶開(kāi)發網站的時候經常會使用到吸頂的效果,那是怎麽實現的呢下(xià)面就說說如何通過js實現吸頂效果:
js實現吸頂效果的思路:
1. 頁面div初始居普通文檔流中(zhōng)
2. 給window添加scroll事件,獲取div的offset的top值,滾動時scrollTop值和top比較,當到達top時給div添加一(yī)個fixed的class使其固定在窗體(tǐ)中(zhōng)
3. 滾動條向上滾動時當到達div初始top時則删除fixed的class,此時div又(yòu)回到普通文檔流中(zhōng)
4. fixed樣式非IE6浏覽器使用position:fixed,IE6使用position:absolute和IE expression
代碼如下(xià):
* {
margin: 0;
padding: 0;
}
#div1 {
width: 100%;
height: 50px;
background: skyblue;
}
window.onload = function() {
var oDiv = document.getElementById('div1');
var divT = oDiv.offsetTop;
//console.log(divT);
window.onscroll = function() {
// 获取当前页面的滚动条纵坐标位置 (依次为火狐谷歌、safari、IE678)
var scrollT = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
//当滚动条处于吸顶元素时
if (scrollT >= divT) {
if (window.navigator.userAgent.indexOf('MSIE 6.0') != -1) {
// 兼容IE6代码
oDiv.style.position = 'absolute';
oDiv.style.top = scrollT + 'px';
oDiv.style.left = 0 + 'px';
} else {
// 正常浏览器代码
oDiv.style.position = 'fixed';
oDiv.style.top = 0;
oDiv.style.left = 0;
}
} else
oDiv.style.position = '';
}
}
以上
以上
以上
以上
以上
以上
以上
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示
吸頂效果展示