这次的鼠标跟随用到了透明,本来这个脚本的效果只是尾巴处拖动一串的图片,然后重叠在一起,我加了一个透明,这样移动鼠标的时候因为图片透明的缘故,就有了慧尾的效果,渐变透明的尾巴跟在后面,效果不错。
演示地址:点击这里
html部分: -------------------------------------------------------------------------------------------------- <html> <head> <title>javascriptboy</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head>
<style type="text/css"> BODY {overflow: scroll; overflow-x: hidden;} img { filter: Alpha(Opacity=25)} </style> <body bgcolor="#FFFFFF" text="#000000"> <script language="javascript1.2"> <!-- var trailLength = 20 // The length of trail (8 by default; put more for longer "tail") var path = "cursor.gif" // URL of your image
// do NOT modify anything beyond this point var isIE = false,isNav = false,range = "all.",style = ".style",i,d = 0 var topPix = ".pixelTop",leftPix = ".pixelLeft",images,storage if (document.layers) { // browser sniffer isNav = true,range = "layers.",style = "",topPix = ".top",leftPix = ".left" } else if (document.all) { isIE = true } function initTrail() { // prepares the script images = new Array() // prepare the image array for (i = 0; i < parseInt(trailLength); i++) { images = new Image() images.src = path } storage = new Array() // prepare the storage for the coordinates for (i = 0; i < images.length*3; i++) { storage = 0 } for (i = 0; i < images.length; i++) { // make divs for IE and layers for Navigator (isIE) ? document.write(<div id="obj + i + " style="position: absolute; z-Index: 100; height: 0; width: 0"><img src=" + images.src + "></div>) : document.write(<layer name="obj + i + " width="0" height="0" z-index="100"><img src=" + images.src + "></layer>) } trail() } function trail() { // trailing function for (i = 0; i < images.length; i++) { // for every div/layer eval("document." + range + "obj" + i + style + topPix + "=" + storage[d]) // the Y-coordinate eval("document." + range + "obj" + i + style + leftPix + "=" + storage[d+1]) // the X-coordinate d = d+2 } for (i = storage.length; i >= 2; i--) { // save the coordinate for the div/layer thats behind storage = storage[i-2] } d = 0 // reset for future use var timer = setTimeout("trail()",10) // call recursively } function processEvent(e) { // catches and processes the mousemove event if (isIE) { // for IE storage[0] = window.event.y+document.body.scrollTop+10 storage[1] = window.event.x+document.body.scrollLeft+10 } else { // for Navigator storage[0] = e.pageY+12 storage[1] = e.pageX+12 } } if (isNav) { document.captureEvents(Event.MOUSEMOVE) // Defines what events to capture for Navigator } if (isIE || isNav) { // initiates the script initTrail() document.onmousemove = processEvent // start capturing } //--> </script> </body> </html> 
|