这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
很平滑自动适应屏幕分辨率的浮动广告效果,显示在 Flash 之上,不被任何风页元素遮挡,同时可以支持多个图片漂浮,速度和浮动随机位置都感觉不错。
漂浮广告是我们经常用到的广告形式,站长的必备代码,相信你一定能用得上。
- <title>JS浮动广告</title>
- <style type="text/CSS">
- img{border:0;}
- </style>
- <script type=text/javascript>
- 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 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.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){
- if(!AdMoveConfig.IsInitialized){
- AdMoveConfig.Resize();
- AdMoveConfig.IsInitialized=true;
- }
- 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;
- this.SetLocation=function(vx,vy){x=vx;y=vy;}
- this.SetDirection=function(vx,vy){dirx=vx;diry=vy;}
- obj.CustomMethod=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.Run=function(){
- var delay = 10;
- interval=setInterval(obj.CustomMethod,delay);
- obj.onmouseover=function(){clearInterval(interval);}
- obj.onmouseout=function(){interval=setInterval(obj.CustomMethod, delay);}
- }
- }
- </script>
- <div>
- <!--漂浮开始-->
- <img class="img-responsive" src="http://img.phperz.com/data/img/20170322_15/1490192515_5306.gif" data-src="">
- <!--漂浮结束-->
- </div>
- <script type=text/javascript><!--
- var ad1=new AdMove("ad1");
- ad1.Run();
- //多组漂浮
- //var ad1=new AdMove("ad2");
- //ad2.Run();
- //-->
- </script>
(adsbygoogle = window.adsbygoogle || []).push({});
来源: http://www.phperz.com/article/17/0630/286551.html