分享几种方块轨迹滑动显示特效

7个月前 (05-09 16:03)阅读回复0
大陆
大陆
  • 管理员
  • 发消息
  • 注册排名1
  • 经验值5294
  • 级别管理员
  • 主题1058
  • 回复2
楼主

这里有几款方块滑动特效,有按轨迹滑动特效、跟随鼠标滑动特效、鼠标感应滑动特效等,结合自己的需求来修改即可。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-Type" content="text/html;charset=gb2312">
<meta name="keywords" content="武鸣人网站,武鸣信息网,武鸣本地网,武鸣信息资源平台,减肥,健身,励志,励志语录,js特效,网页特效,www.wuming.ren">
<meta name="description" content="欢迎来到武鸣人信息资源平台,各种信息免费发布,资源共享合作共赢,分享互联网流行的励志语录经典短句,减肥健身健康小常识及打卡记录,收集各种js特效代码。">
<title>分享几种方块轨迹滑动显示特效_武鸣人</title>
<!--把下面代码加到<head>与</head>之间-->
<script type="text/javascript">
var $ = function (id) {
    return "string" == typeof id ? document.getElementById(id) : id;
};
function Event(e){
    var oEvent = document.all ? window.event : e;
    if (document.all) {
        oEvent.pageX = oEvent.clientX + document.documentElement.scrollLeft;
        oEvent.pageY = oEvent.clientY + document.documentElement.scrollTop;
    }
    return oEvent;
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
function addEventHandler(oTarget, sEventType, fnHandler) {
    if (oTarget.addEventListener) {
        oTarget.addEventListener(sEventType, fnHandler, false);
    } else if (oTarget.attachEvent) {
        oTarget.attachEvent("on" + sEventType, fnHandler);
    } else {
        oTarget["on" + sEventType] = fnHandler;
    }
};
function removeEventHandler(oTarget, sEventType, fnHandler) {
    if (oTarget.removeEventListener) {
        oTarget.removeEventListener(sEventType, fnHandler, false);
    } else if (oTarget.detachEvent) {
        oTarget.detachEvent("on" + sEventType, fnHandler);
    } else {
        oTarget["on" + sEventType] = null;
    }
};
var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
Object.extend = function(destination, source) {
    for (var property in source) {
        destination[property] = source[property];
    }
    return destination;
}
var Slippage = Class.create();
Slippage.prototype = {
  initialize: function(obj, options) {
    this.obj = $(obj);
    this._timer =null;
    this._xs = this._ys = [];
    this.X = parseInt(this.obj.style.left) || 0;
    this.Y = parseInt(this.obj.style.top) || 0;
    this.SetOptions(options);
    this.Step = Math.abs(this.options.Step);
    this.Time = Math.abs(this.options.Time);
    this.Loop = this.options.Loop;
    this.Relative = this.options.Relative;
    this.SetPosition(this.options.X || [], this.options.Y || []);
  },
  //设置默认属性
  SetOptions: function(options) {
    this.options = {//默认值
        Step:        10,//滑动变化率
        Time:        10,//滑动延时
        X:            [],//x坐标变化
        Y:            [],//y坐标变化
        Loop:        false,//是否循环
        Relative:    true//是否相对位置
    };
    Object.extend(this.options, options || {});
  },
  //
  SetPosition: function(arrX, arrY) {
    if(arrX.length <= 0 && arrX.length <= 0) return false;
    else if(arrX.length <= 0) arrX = [0];
    else if(arrY.length <= 0) arrY = [0];
    this._xs = arrX; this._ys = arrY;
    if(this.Relative){
        for(var i in this._xs){ if (i == 0) { this._xs[0] += this.X; } else { this._xs[i] += this._xs[i-1]; } }
        for(var i in this._ys){ if (i == 0) { this._ys[0] += this.Y; } else { this._ys[i] += this._ys[i-1]; } }
    }
    this.Set();
  },
  //
  Set: function() {
    //当全部坐标指向同一个位置时会进入死循环
    if(this._xs.length <= 0 && this._ys.length <= 0) return;
    if(this._xs.length > 0) this.X = this._xs.shift();
    if(this._ys.length > 0) this.Y = this._ys.shift();
    if(this.Loop && this._xs.length > 0 && this._ys.length > 0) { this._xs.push(this.X);this._ys.push(this.Y); }
    //$("aa").innerHTML+=this._ys.length+"=";
    this.Move(this.X, this.Y);
  },
  //
  Move: function(iX, iY) {
    clearTimeout(this._timer);
    var iLeft = parseInt(this.obj.style.left) || 0, iTop = parseInt(this.obj.style.top) || 0, iLeftStep = this.GetStep(iX, iLeft), iTopStep = this.GetStep(iY, iTop);
    if (iLeftStep == 0 && iTopStep == 0) {
        this.Set();
    } else {
        this.obj.style.left = (iLeft + iLeftStep) + "px"; this.obj.style.top = (iTop + iTopStep) + "px";
        var oThis = this; this._timer = setTimeout(function(){ oThis.Move(iX, iY); }, this.Time);
    }
  },
  //
  GetStep: function(iTarget, iNow) {
    var iStep = (iTarget - iNow) / this.Step;
    if (iStep == 0) return 0;
    if (Math.abs(iStep) < 1) return (iStep > 0 ? 1 : -1);
    return iStep;
  }
};
window.onload = function(){
    new Slippage("idSlippage3", { X: [200,200,0,-200,-100,-100], Y: [0,0,100,-100,100,-100], Loop: true });
    var oSlippage = new Slippage("idSlippage");
    $("aa").onclick = function(e){ var oEvent = Event(e);oSlippage.Move(oEvent.pageX, oEvent.pageY);}
    var oSlippage2 = new Slippage("idSlippage2", { Step: 1, Relative: false }),x=[],y=[];
    $("bb").onmousedown = function(e){ addEventHandler(this, "mousemove", Set); }
    $("bb").onmouseout = function(e){ removeEventHandler(this, "mousemove", Set); x=y=[];}
    $("bb").onmouseup = function(e){ removeEventHandler(this, "mousemove", Set); oSlippage2.SetPosition(x, y);x=y=[];}
    function Set(e){ var oEvent = Event(e); x.push(oEvent.pageX); y.push(oEvent.pageY); }
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
</script>
</head>
<body>
<a href="https://www.wuming.ren">武鸣人</a>,各种信息资源免费发布,分享励志语录经典短句,减肥健身常识,各种js特效代码。网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)<hr>
<!--欢迎来到武鸣人信息资源平台,各种信息免费发布,资源共享合作共赢,分享互联网流行的励志语录经典短句,减肥健身健康小常识及打卡记录,收集各种js特效代码。-->
<script type="text/javascript" src="https://www.wuming.ren/ad/tc.js"></script>
<script type="text/javascript" src="https://www.wuming.ren/ad/a.js"></script>
自动滑移:
<div id="cc" style="height:200px; width:500px; border:1px solid #000000;  position:relative;overflow:hidden;">
  <div id="idSlippage3" style="width:10px; height:10px; background:#000000; position:absolute; z-index:99; top:50px; left:50px;"> </div>
</div>
定点滑移(鼠标点击):
<div id="aa" style="height:200px; width:500px; border:1px solid #000000; overflow:hidden;">
  <div id="idSlippage" style="width:10px; height:10px; background:#000000; position:absolute; z-index:99; top:-50px; left:50px;"> </div>
</div>
定线滑移(鼠标拖动轨迹):
<div id="bb" style="height:200px; width:500px; border:1px solid #000000; overflow:hidden;">
  <div id="idSlippage2" style="width:10px; height:10px; background:#000000; position:absolute; z-index:99; top:-50px; left:50px;"> </div>
</div>
</body>
</html>


0
0
收藏0

本文来自武鸣人网站,转载请注明出处

本文地址:https://www.wuming.ren/a/930.html

回帖

分享几种方块轨迹滑动显示特效 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息