javascript怎么实现鼠标点击一张图片之后,图片跟随鼠标走的效果

JavaScript09

javascript怎么实现鼠标点击一张图片之后,图片跟随鼠标走的效果,第1张

这是一个拖动元素的效果

<div id="div" style="width:100pxheight:100pxbackground-color:redposition: absolutecursor: move">

</div>

<script>

window.onload=function(){

var div=document.getElementById("div")

div.onmousedown=function(e){ //把onmousedown改成onclick就是你要的效果

var x= e.clientX-div.offsetLeft

var y= e.clientY-div.offsetTop

document.onmousemove=function(e){

div.style.left= e.clientX-x+"px"

div.style.top= e.clientY-y+"px"

}

document.onmouseup=function(){

document.onmousemove=null

}

}

}

</script>

<html>

<head>

<script language="javascript">

function moveImage(){

document.getElementById("div1").style.left = 0

document.getElementById("div1").style.top = document.body.scrollTop

}

var t1 = window.setInterval("moveImage()",100)

</script>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>图片位移</title>

</head>

<body bgcolor="#CCCC00">

<div id="div1" style="position:absolute"><img src="images/hair.png" id="image1" /></div>

</body>

</html>

上面的是你的要求。下面是一个小例子。可以实现图片在页面上滚动。

<script language="javascript">

var left = 0

var top = 0

function moveImage(){

if(left >(document.body.clientWidth)-(document.getElementById("div1").offsetWidth)-4){

left = -left

}

if(top >(document.body.clientHeight)-(document.getElementById("div1").offsetHeight)-4){

top = -top

}

left += 4

top += 4

document.getElementById("div1").style.left = Math.abs(left)

document.getElementById("div1").style.top = Math.abs(top)

}

var t1 = window.setInterval("moveImage()",100)

</script>

不知道您的jlib.js文件怎么写的,所以就用了我自己的方式改了一下

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8">

<title>Insert title here</title>

<style>

#head{

position:absolute

}

</style>

</head>

<body>

<img src='images/head.jpg' id='head' />

<script type="text/javascript">

/*

* jlib.js是我自己写的一个javascript类库,里面包含一些常用方法,如JudgeBroswer()用来判断浏览器是IE还是FireFox,$相当于document.getElementById(id)

*/

document.onmousemove=Move

obj=document.getElementById("head")

function Move(event){

var event=window.event||event

obj.style.left=event.clientX+'px'

obj.style.top=event.clientY+'px'

}

</script>

</body>

</html>