js控制固定div和随屏滚动div兼容多浏览器和纯css控制(来自网络)

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>右下角div固定</title>
<style type="text/css">
html, body
{
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div id="aa" style="width: 100px; height: 100px; background: #c0c0c0;">随平滚懂div</div>
<div id="bb" style="width: 100px; height: 100px; background: #c0c0c0;">静止不动div</div>
<div style="width: 100%; height: 1500px; background: #000"></div>
<div style="width: 100%; height: 1500px; background: green"></div>
<div style="width: 100%; height: 1500px; background: red"></div>
</body>
</html>
<script type="text/javascript">
function scrollx(p) {
var d = document, dd = d.documentElement, db = d.body, w = window, o = d.getElementById(p.id), ie6 = /msie 6/i.test(navigator.userAgent), style, timer;
if (o) {
o.style.cssText += ";position:" + (p.f && !ie6 ? 'fixed' : 'absolute') + ";" + (p.l == undefined ? 'right:0;' : 'left:' + p.l + 'px;') + (p.t != undefined ? 'top:' + p.t + 'px' : 'bottom:0');
if (p.f && ie6) {
o.style.cssText += ';left:expression(documentElement.scrollLeft + ' + (p.l == undefined ? dd.clientWidth - o.offsetWidth : p.l) + ' + "px");top:expression(documentElement.scrollTop +' + (p.t == undefined ? dd.clientHeight - o.offsetHeight : p.t) + '+ "px" );';
dd.style.cssText += ';background-image: url(about:blank);background-attachment:fixed;';
} else {
if (!p.f) {
w.onresize = w.onscroll = function () {
clearInterval(timer);
timer = setInterval(function () {
//双选择为了修复chrome 下xhtml解析时dd.scrollTop为 0
var st = (dd.scrollTop || db.scrollTop), c;
c = st - o.offsetTop + (p.t != undefined ? p.t : (w.innerHeight || dd.clientHeight) - o.offsetHeight);
if (c != 0) {
o.style.top = o.offsetTop + Math.ceil(Math.abs(c) / 10) * (c < 0 ? -1 : 1) + 'px';
} else {
clearInterval(timer);
}
}, 10)
}
}
}
}
}
scrollx({
id: 'aa'
})
scrollx({
id: 'bb',
l: 0,
t: 200,
f: 1
})
/*
id 你要滚动的内容的id
l 横坐标的位置 不写为紧贴右边
t 你要放在页面的那个位置默认是贴着底边 0是贴着顶边
f 1表示固定 不写或者0表示滚动
*/
</script>

本文来自:http://www.jzxue.com/wangyesheji/wangyetexiao/201011/09-4940.html

方式二:纯css控制且半透明效果,但兼容性较差

 #div_digg{ position:fixed; _position:absolute;z-index:;bottom:; right:; _right:17px; background-color:#FFFFFF;border:2px solid red;filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5; }

右下角固定层效果,用于广告的较多。这里既然在网上看到,收藏在此。以备不时之需......

上一篇:使用纯 CSS 实现滚动阴影效果


下一篇:滚动视差?CSS 不在话下