js实现图片浮动
2015-08-12 16:04
736 查看
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js实现图片轮播</title>
<style type="text/css">
#main{width:1024px; margin:20px auto;text-align:center;}
#adv{width:200px;height:400px;position:absolute;top:10px;left:20px;}
a {border:1px solid gray;background-color:green; position:absolute;top:0px;left:150px;color:grap;}
</style>
<script type="text/javascript">
var localX;
var localY;
//预加载 js的执行顺序是自上而下的,所以要用预加载
onload = function()
{
var adv = $("#adv");
//adv.style.top adv.style.left 只能取到行内的样式
localX = document.defaultView.getComputedStyle(adv,null).left; //可以取到所有的样式
localY = document.defaultView.getComputedStyle(adv,null).top;
}
//添加滚动事件
onscroll = function()
{
//取到滚动距顶部的距离 采用容错处理 ,2中方法
var scrollX = document.documentElement.scrollLeft ? document.documentElement.scrollLeft:
document.body.scrollLeft;
var scrollY = document.documentElement.scrollTop ? document.documentElement.scrollTop:
document.body.scrollTop;
//要浮动的图片的距离
$("#adv").style.left = scrollX +parseInt(localX)+"px";
$("#adv").style.top = scrollY +parseInt(localY)+"px";
}
//关闭浮动广告的函数
function colseAdv()
{
document.body.removeChild($("#adv"));
return false;
}
//通过getElement对象的方法进行封装
//要求:id使用#前缀 class使用.前缀 标签不用
function $(name)
{
if(name.charAt(0) == '#')
{
return document.getElementById(name.substring(1));
}
else if(name.charAt(0) == '.')
{
return document.getElementsByClassName(name.substring(1));
}
else
{
return document.getElementsByTagName(name);
}
}
</script>
</head>
<body>
<div id = 'main'>
<img src= '../images/top.jpg' />
<img src= '../images/content1.jpg' />
<img src= '../images/content2.jpg' />
<img src ='../images/foot.jpg' />
</div>
<div id = 'adv'>
<!-- 要浮动的图片 -->
<img src="../images/left.jpg"/>
<a href = "#" onclick = "return colseAdv()">关闭</a>
</div>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>js实现图片轮播</title>
<style type="text/css">
#main{width:1024px; margin:20px auto;text-align:center;}
#adv{width:200px;height:400px;position:absolute;top:10px;left:20px;}
a {border:1px solid gray;background-color:green; position:absolute;top:0px;left:150px;color:grap;}
</style>
<script type="text/javascript">
var localX;
var localY;
//预加载 js的执行顺序是自上而下的,所以要用预加载
onload = function()
{
var adv = $("#adv");
//adv.style.top adv.style.left 只能取到行内的样式
localX = document.defaultView.getComputedStyle(adv,null).left; //可以取到所有的样式
localY = document.defaultView.getComputedStyle(adv,null).top;
}
//添加滚动事件
onscroll = function()
{
//取到滚动距顶部的距离 采用容错处理 ,2中方法
var scrollX = document.documentElement.scrollLeft ? document.documentElement.scrollLeft:
document.body.scrollLeft;
var scrollY = document.documentElement.scrollTop ? document.documentElement.scrollTop:
document.body.scrollTop;
//要浮动的图片的距离
$("#adv").style.left = scrollX +parseInt(localX)+"px";
$("#adv").style.top = scrollY +parseInt(localY)+"px";
}
//关闭浮动广告的函数
function colseAdv()
{
document.body.removeChild($("#adv"));
return false;
}
//通过getElement对象的方法进行封装
//要求:id使用#前缀 class使用.前缀 标签不用
function $(name)
{
if(name.charAt(0) == '#')
{
return document.getElementById(name.substring(1));
}
else if(name.charAt(0) == '.')
{
return document.getElementsByClassName(name.substring(1));
}
else
{
return document.getElementsByTagName(name);
}
}
</script>
</head>
<body>
<div id = 'main'>
<img src= '../images/top.jpg' />
<img src= '../images/content1.jpg' />
<img src= '../images/content2.jpg' />
<img src ='../images/foot.jpg' />
</div>
<div id = 'adv'>
<!-- 要浮动的图片 -->
<img src="../images/left.jpg"/>
<a href = "#" onclick = "return colseAdv()">关闭</a>
</div>
</body>
</html>
相关文章推荐
- JavaScript日期格式化及解析
- pom.xml 添加 JSON依赖的配置
- 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult
- JS判断数据是否是JSON类型
- 推荐:自定义滚动条插件(tscroll.js)
- js密码强度
- 学习zepto.js(对象方法)[1]
- IE浏览器在Javascript处理数组对象时出现数组个数不正确
- js工具类大全
- JS array数组元素的添加和删除
- JSP EL表达式详细介绍
- Javascript识别各种浏览器、渲染引擎、系统平台(操作系统|移动设备|游戏系统)
- 服务器调用JS
- Javascript console.log命令的浏览器兼容性问题
- 深入JavaScript(4)立即调用的函数表达式
- 深入JavaScript(3)全面解析Module模式
- JS学习---(一)
- 深入JavaScript(2)揭秘命名函数表达式
- 深入JavaScript(1)编写高质量JavaScript代码的基本要点
- javascript:void(0)