`
lmh2072005
  • 浏览: 114094 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

javascript 跟踪效果

阅读更多

<!DOCTYPE HTML>
<html>
 <head>
  <title> trails </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <style type="text/css">
  *{margin:0;padding:0;}
  .box{
    position:absolute;
    border:1px solid #000;
    border-radius:5px;
    color:green;
    width:10px;
    height:10px;
    line-height:3px;
    text-indent:3px;
    text-align:center;
  }
  </style>
 </head>

 <body>
    <div id="box" style="left:100px;top:100px;" class="box">.</div>
    <div id="box1" style="left:300px;top:400px;" class="box">.</div>
    <div id="box2" style="left:500px;top:500px;" class="box">.</div>
  <script>
    function tracker(obj){
        this.aim = obj.aim || 'mouse'; //目标默认为鼠标
        this.aimLeft = 0;  //表示当前目标的位置
        this.aimTop = 0;
        this.trailsman = obj.trails;  //跟踪者
        this.trailsLeft = parseInt(this.trailsman.style.left,10); //表示当前跟踪者的位置
        this.trailsTop = parseInt(this.trailsman.style.top,10);
        this.setPos = function(){
            var dis = Math.sqrt(Math.pow((this.aimLeft-this.trailsLeft), 2) + Math.pow((this.aimTop - this.trailsTop), 2)),
                angleX = (this.aimLeft-this.trailsLeft)/dis,
                angleY = (this.aimTop - this.trailsTop)/dis,
                speed = obj.speed || 2,
                speedX = speed * angleX,
                speedY = speed * angleY;
            this.trailsLeft += speedX;
            this.trailsTop += speedY;
            this.trailsman.style.left = this.trailsLeft + 'px';
            this.trailsman.style.top = this.trailsTop + 'px';
        }
       
    }
    var box = document.getElementById('box');
    var box1 = document.getElementById('box1');
    var box2 = document.getElementById('box2');
    var eg = [box,box1,box2];
    for(var i = 0,j = eg.length;i < j;i++){
        (function(i){
            eg[i] = new tracker({
                trails:eg[i]
            });
            if(eg[i].aim == 'mouse'){
                addEvent(document,"mousemove",function(e){
                    eg[i].aimLeft = getMos(e).x,  //表示当前目标的位置
                    eg[i].aimTop = getMos(e).y;
                });
            }
            setInterval(function(){eg[i].setPos();},10);  //设置跟踪者的位置
        })(i)
       
    }
    function addEvent(obj,type,fn){
        if(obj.attachEvent){
            obj.attachEvent("on"+type,fn);
        }else if(obj.addEventListener){
            obj.addEventListener(type,fn,false);
        }
    }
    function getMos(e){
        var x = y = 0,
            e = e || window.event,
            doc = document.documentElement || document.body;
        if(e.pageX){
            x = e.pageX;
            y = e.pageY;
        }else{
            x = e.clientX + doc.scrollLeft - doc.clientLeft;
            y = e.clientY + doc.scrollTop - doc.clientTop;
        }
        return {x:x,y:y};
    }
  </script>
 </body>
</html>

分享到:
评论

相关推荐

    JavaScript图片切换效果.rar

    JavaScript图片切换效果是一种常见的网页动态展示技术,常用于制作轮播图、相册或产品展示等。这种效果可以通过JavaScript库,如jQuery,或者原生JavaScript实现。本资源"JavaScript图片切换效果.rar"提供了一个实例...

    javascript伸缩效果.rar

    JavaScript是一种广泛应用于网页和网络应用的编程语言,尤其在实现动态交互效果方面有着显著的作用。在本案例中,"javascript伸缩效果.rar"文件显然包含了关于如何使用JavaScript实现内容的展开与关闭,即一种常见的...

    JavaScript 自写Js+CSS轮显效果.rar

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责处理网页的动态效果和交互功能。在“JavaScript 自写Js+CSS轮显效果.rar”这个压缩包中,我们很显然关注的是如何使用JavaScript和CSS来实现一种...

    javascript模拟windowsxp关机效果代码

    在本示例中,"javascript模拟windowsxp关机效果代码"是一个利用JavaScript实现的仿Windows XP关机动画的效果。这个demo为初学者提供了一个学习JavaScript动态效果实现的实例。 首先,我们要理解Windows XP的关机...

    教你一天玩转JavaScript(三)——使用JavaScript完成图片轮播的效果

    在本教程中,我们将深入探讨如何使用JavaScript来创建一个动态且引人入胜的图片轮播效果。JavaScript作为客户端编程语言,为网页增加交互性提供了强大的工具。在我们的"教你一天玩转JavaScript(三)"系列中,我们将...

    22种Javascript导航菜单效果

    9. **导航状态管理**:JavaScript可以跟踪当前选中的菜单项,通过改变其样式来突出显示,帮助用户了解他们在网站的位置。 10. **异步加载**:对于大型网站,JavaScript可以实现菜单项的懒加载,只在用户需要时才...

    JavaScript图片滑动切换效果

    JavaScript图片滑动切换效果是一种常见的网页动态展示技术,尤其在电商网站如淘宝和阿里巴巴上广泛使用,用于商品图片的展示。这种效果通过JavaScript编程实现,能够实现图片的自动轮播、手动点击切换、过渡动画等...

    一种幻灯片的文本跟踪效果

    总的来说,创建“幻灯片的文本跟踪效果”涉及到了前端开发中的动态效果设计、DOM操作和状态管理等多个方面,是JavaScript和CSS应用的典型实例。通过这种方式,我们可以使网页内容更加生动有趣,提升用户的互动体验。

    JavaScript大全 常用JS效果代码

    3. **JS广告**:在网站中嵌入广告时,JavaScript可以用于实现广告的动态加载、定位以及跟踪用户交互。例如,可以使用JavaScript动态插入广告代码,根据用户行为决定广告的显示时机,或者实现悬浮广告,跟随用户滚动...

    javascript原生脚本实现幻灯片效果

    JavaScript原生脚本实现幻灯片效果是一种常见的网页动态效果,尤其在网站的首页或产品展示部分广泛应用。这种效果能够以优雅的方式展示一系列图片或内容,通过点击分页按钮进行切换,增强用户体验。下面我们将详细...

    JavaScript教程

    - 应用实例:计算在线时间,利用JavaScript跟踪用户停留页面的时间。 8. **WEB页面信息交互** - 理解HTML窗体(form)的基本知识,以及表单元素的类型。 - 学习如何处理窗体数据,实现动态按钮效果。 9. **实现...

    javascript经典特效---广告图片宣传.rar

    5. 跟踪分析:JavaScript还可以集成Google Analytics或其他跟踪工具,收集用户与广告互动的数据,以便分析广告效果。 6. 响应式设计:考虑到不同设备的屏幕尺寸,JavaScript可以用于检测设备类型,然后调整广告布局...

    JavaScript Slider效果实现思路 源码)

    JavaScript滑动条(Slider)效果是一种常见的网页交互元素,常用于展示图片轮播、选项切换或数值调节等场景。在本篇文章中,我们将深入探讨如何使用JavaScript实现这种效果,并提供相应的源码参考。 首先,一个基本...

    【JavaScript源代码】javascript实现全屏页面滚动效果.docx

    JavaScript全屏页面滚动效果是一种常见的网页交互设计,用于创建流畅且引人入胜的用户体验。在本文中,我们将深入探讨如何使用JavaScript实现这样的效果,并分析提供的代码示例。 首先,我们要明白JavaScript是一种...

    javascript实现卷起来的贴纸效果,往墙上贴纸时从卷到展开的效果.zip

    在这个贴纸效果中,可能需要一个计数器变量来跟踪贴纸展开的进度,并根据这个进度改变贴纸元素的CSS属性,如宽度、透明度或旋转角度,以模拟展开过程。 在`sticker.js`这个文件中,很可能包含了实现这个效果的核心...

    myConsole用JavaScript实现的手机JavaScript编辑器

    编辑器支持实时预览和执行代码,这意味着开发者可以立即看到代码更改的效果,无需频繁地保存和刷新,极大地提高了开发效率。同时,myConsole还可能提供了错误提示和堆栈跟踪,方便开发者定位和解决问题。 ### 4. ...

    javascript 仿淘宝的放大效果

    这种效果通常涉及到图像的动态加载、鼠标跟踪、缩放以及平移等功能。接下来,我们将深入探讨如何使用JavaScript来实现这个功能。 首先,我们需要理解基本的HTML结构,通常包括一个主图片容器和一个预览容器。主图片...

    javascript经典特效---图片轮换效果.rar

    JavaScript是一种广泛应用于网页和网络应用的编程语言,尤其在实现动态交互效果方面有着不可或缺的地位。在本案例中,我们关注的是一个经典的JavaScript特效——图片轮换效果。这种效果常常用于网站的滑动展示、广告...

    3d轮播效果-javascript

    在本文中,我们将深入探讨如何使用JavaScript实现3D轮播效果,这个效果具有焦点切换、按钮控制以及同时切换上下两个3D轮播的功能。3D轮播是一种视觉上吸引人的展示方式,通常用于图片或内容的展示,为用户提供动态且...

Global site tag (gtag.js) - Google Analytics