zoukankan      html  css  js  c++  java
  • 移动水印

    //公共脚本文件 main.js
    function addEvent(obj, evtType, func, cap) {
    	cap = cap || false;
    	if (obj.addEventListener) {
    		obj.addEventListener(evtType, func, cap);
    		return true;
    	} else if (obj.attachEvent) {
    		if (cap) {
    			obj.setCapture();
    			return true;
    		} else {
    			return obj.attachEvent("on" + evtType, func);
    		}
    	} else {
    		return false;
    	}
    }
    function removeEvent(obj, evtType, func, cap) {
    	cap = cap || false;
    	if (obj.removeEventListener) {
    		obj.removeEventListener(evtType, func, cap);
    		return true;
    	} else if (obj.detachEvent) {
    		if (cap) {
    			obj.releaseCapture();
    			return true;
    		} else {
    			return obj.detachEvent("on" + evtType, func);
    		}
    	} else {
    		return false;
    	}
    }
    function getPageScroll() {
    	var xScroll, yScroll;
    	if (self.pageXOffset) {
    		xScroll = self.pageXOffset;
    	} else if (document.documentElement && document.documentElement.scrollLeft) {
    		xScroll = document.documentElement.scrollLeft;
    	} else if (document.body) {
    		xScroll = document.body.scrollLeft;
    	}
    	if (self.pageYOffset) {
    		yScroll = self.pageYOffset;
    	} else if (document.documentElement && document.documentElement.scrollTop) {
    		yScroll = document.documentElement.scrollTop;
    	} else if (document.body) {
    		yScroll = document.body.scrollTop;
    	}
    	arrayPageScroll = new Array(xScroll, yScroll);
    	return arrayPageScroll;
    }
    function GetPageSize() {
    	var xScroll, yScroll;
    	if (window.innerHeight && window.scrollMaxY) {
    		xScroll = document.body.scrollWidth;
    		yScroll = window.innerHeight + window.scrollMaxY;
    	} else if (document.body.scrollHeight > document.body.offsetHeight) {
    		xScroll = document.body.scrollWidth;
    		yScroll = document.body.scrollHeight;
    	} else {
    		xScroll = document.body.offsetWidth;
    		yScroll = document.body.offsetHeight;
    	}
    	var windowWidth, windowHeight;
    	if (self.innerHeight) {
    		windowWidth = self.innerWidth;
    		windowHeight = self.innerHeight;
    	} else if (document.documentElement && document.documentElement.clientHeight) {
    		windowWidth = document.documentElement.clientWidth;
    		windowHeight = document.documentElement.clientHeight;
    	} else if (document.body) {
    		windowWidth = document.body.clientWidth;
    		windowHeight = document.body.clientHeight;
    	}
    	if (yScroll < windowHeight) {
    		pageHeight = windowHeight;
    	} else {
    		pageHeight = yScroll;
    	}
    	if (xScroll < windowWidth) {
    		pageWidth = windowWidth;
    	} else {
    		pageWidth = xScroll;
    	}
    	arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight)
    	return arrayPageSize;
    }
    
    ////////////////////////////////////////////////////////
    var AdMoveConfig = new Object();
    AdMoveConfig.IsInitialized = false;
    AdMoveConfig.AdCount = 0;
    AdMoveConfig.ScrollX = 0;
    AdMoveConfig.ScrollY = 0;
    AdMoveConfig.MoveWidth = 0;
    AdMoveConfig.MoveHeight = 0;
    AdMoveConfig.Resize = function () {
    	var winsize = GetPageSize();
    	AdMoveConfig.MoveWidth = winsize[2];
    	AdMoveConfig.MoveHeight = winsize[3];
    	AdMoveConfig.Scroll();
    }
    AdMoveConfig.Scroll = function () {
    	var winscroll = getPageScroll();
    	AdMoveConfig.ScrollX = winscroll[0];
    	AdMoveConfig.ScrollY = winscroll[1];
    }
    addEvent(window, "resize", AdMoveConfig.Resize);
    addEvent(window, "scroll", AdMoveConfig.Scroll);
    function AdMove(id, addCloseButton) {
    	if (!AdMoveConfig.IsInitialized) {
    		AdMoveConfig.Resize();
    		AdMoveConfig.IsInitialized = true;
    	}
    	AdMoveConfig.AdCount++;
    	var obj = document.getElementById(id);
    	obj.style.position = "absolute";
    	var W = AdMoveConfig.MoveWidth - obj.offsetWidth;
    	var H = AdMoveConfig.MoveHeight - obj.offsetHeight;
    	var x = W * Math.random(), y = H * Math.random();
    	var rad = (Math.random() + 1) * Math.PI / 6;
    	var kx = Math.sin(rad), ky = Math.cos(rad);
    	var dirx = (Math.random() < 0.5 ? 1 : -1), diry = (Math.random() < 0.5 ? 1 : -1);
    	var step = 1;
    	var interval;
    	if (addCloseButton) {
    		var closebtn = document.createElement("div");
    		obj.appendChild(closebtn);
    
    		closebtn.onclick = function () {
    			obj.style.display = "none";
    			clearInterval(interval);
    			closebtn.onclick = null;
    			obj.onmouseover = null;
    			obj.onmouseout = null;
    			obj.MoveHandler = null;
    			AdMoveConfig.AdCount--;
    			if (AdMoveConfig.AdCount <= 0) {
    				removeEvent(window, "resize", AdMoveConfig.Resize);
    				removeEvent(window, "scroll", AdMoveConfig.Scroll);
    				AdMoveConfig.Resize = null;
    				AdMoveConfig.Scroll = null;
    				AdMoveConfig = null;
    			}
    		}
    	}
    	obj.MoveHandler = function () {
    		obj.style.left = (x + AdMoveConfig.ScrollX) + "px";
    		obj.style.top = (y + AdMoveConfig.ScrollY) + "px";
    		rad = (Math.random() + 1) * Math.PI / 6;
    		W = AdMoveConfig.MoveWidth - obj.offsetWidth;
    		H = AdMoveConfig.MoveHeight - obj.offsetHeight;
    		x = x + step * kx * dirx;
    		if (x < 0) { dirx = 1; x = 0; kx = Math.sin(rad); ky = Math.cos(rad); }
    		if (x > W) { dirx = -1; x = W; kx = Math.sin(rad); ky = Math.cos(rad); }
    		y = y + step * ky * diry;
    		if (y < 0) { diry = 1; y = 0; kx = Math.sin(rad); ky = Math.cos(rad); }
    		if (y > H) { diry = -1; y = H; kx = Math.sin(rad); ky = Math.cos(rad); }
    	}
    	this.SetLocation = function (vx, vy) { x = vx; y = vy; }
    	this.SetDirection = function (vx, vy) { dirx = vx; diry = vy; }
    	this.Run = function () {
    		var delay = 10;
    		interval = setInterval(obj.MoveHandler, delay);
    		obj.onmouseover = function () { clearInterval(interval); }
    		obj.onmouseout = function () { interval = setInterval(obj.MoveHandler, delay); }
    	}
    }
    

      首先引入上面js文件

    在html中这样设置即可

     <div id="shuiyin" style="position:absolute;">
        <p style=" 100px">水印</p>
      </div>
     <script type="text/javascript">
        // 水印
        $(function () {
          $("#closepiaofu").click(function () {
            $("#shuiyin").hide();
          });
        })
        var yidong = new AdMove("wzsse", true);
       yidong.Run();
      </script>
    

      

  • 相关阅读:
    activiti实战系列之动态表单 formService 自定义变量类型
    js向一个数组中插入元素的几个方法-性能比较
    Mac系统安装和配置tomcat步骤详解
    Spring注解之@validated的使用
    Spring注解之@Lazy注解
    centos命令行系列之升级glibc到
    docker实战系列之docker 端口映射错误解决方法
    centos命令行系列之centos6防火墙的关闭以及开启
    docker实战系列之搭建rabbitmq
    运营型模型
  • 原文地址:https://www.cnblogs.com/lljun/p/11558010.html
Copyright © 2011-2022 走看看