js怎么改变图片位置

JavaScript011

js怎么改变图片位置,第1张

先把图片的父元素的css样式,postion设置为relative,然后图片的postion设置为absolute,然后用js来改变的图片的left 和 top数值就可以改变图片的位置了。如果不设置父元素,那就将图片的postion设置为relative,也可以改变位置,JS同样。

下面是个简单的例子,你参考下

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>TEST</title>

<style type="text/css">

        *{margin: 0 padding: 0}

        .wrap { position: relative }

        #pic { position: absolute }

</style>

</head>

<body>

<div class="wrap">

    <img id="pic" src="222.jpg">

</div>

<script type="text/javascript">

    var pic = document.getElementById("pic")

    pic.style.left=50+"px" //这里可以更改图片左边距

    pic.style.top=30+"px"  //这里可以更改图片的上边距

</script>

</body>

</html> <script type="text/javascript">

    var pic = document.getElementById("pic")

    pic.style.left=150+"px"

    pic.style.top=130+"px"

</script>

原理:通过页面加载开始,先给图片一个占位图,将实际图片属性,放在自定义属性data_url里面,通过onscroll事件,检测图片的位置,如果图片进入可视区域,将data_url的实际图片设置给src

检测方法:图片距离文档顶部距离-scrollTop <浏览器可视区域高度

img.onerror=function(){}图片对象加载失败后,自动调用

img.onload=function(){}图片对象加载成功后,自动调用