人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

到邊界反彈的漂浮圖片JS代碼如何寫

到邊界反彈的漂浮圖片JS代碼如何寫

更新時間:2023-06-16 文章作者:未知 信息來源:網絡 閱讀次數:

編程(Programming)是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應結果的過程。為了使計算機能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。

【實例名稱】

到邊界反彈的漂浮圖片JS代碼怎么寫

【實例描述】

很多網站的圖片廣告是以漂浮的形式展現,當圖片漂浮到邊界時會被彈回,然后繼續向反方向移動。本例學習如何實現圖片的反彈。

【實例代碼】

<html xmlns="http://www.w3.org/1999/xhtml" > <head>     <title>無標題頁-本站(www.xue51.com)</title> <SCRIPT language=JavaScript> var brOK=false; var mie=false; var aver=parseInt(navigator.appVersion.substring(0,1)); var aname=navigator.appName; //檢測瀏覽器類型 function checkbrOK() {   if(aname.indexOf("Internet Explorer")!=-1)    {if(aver>=4) brOK=navigator.javaEnabled();     mie=true;    }   if(aname.indexOf("Netscape")!=-1)     {if(aver>=4) brOK=navigator.javaEnabled();} } var vmin=2; var vmax=5; var vr=2; var timer1; function Chip(chipname,width,height) {this.named=chipname;  this.vx=vmin+vmax*Math.random();  this.vy=vmin+vmax*Math.random();  this.w=width;  this.h=height;  this.xx=0;  this.yy=0;  this.timer1=null; } //移動圖像  function movechip(chipname) {  if(brOK)   {eval("chip="+chipname);    if(!mie)     {pageX=window.pageXOffset;      pageW=window.innerWidth;      pageY=window.pageYOffset;      pageH=window.innerHeight;     }    else     {pageX=window.document.body.scrollLeft;      pageW=window.document.body.offsetWidth-8;      pageY=window.document.body.scrollTop;      pageH=window.document.body.offsetHeight;     }    chip.xx=chip.xx+chip.vx;    chip.yy=chip.yy+chip.vy;    chip.vx+=vr*(Math.random()-0.5);    chip.vy+=vr*(Math.random()-0.5);    if(chip.vx>(vmax+vmin))  chip.vx=(vmax+vmin)*2-chip.vx;    if(chip.vx<(-vmax-vmin)) chip.vx=(-vmax-vmin)*2-chip.vx;    if(chip.vy>(vmax+vmin))  chip.vy=(vmax+vmin)*2-chip.vy;    if(chip.vy<(-vmax-vmin)) chip.vy=(-vmax-vmin)*2-chip.vy;    if(chip.xx<=pageX)               //水平方向不到邊界時      {chip.xx=pageX;       chip.vx=vmin+vmax*Math.random();      }    if(chip.xx>=pageX+pageW-chip.w)  //水平方向超過邊界時      {chip.xx=pageX+pageW-chip.w;       chip.vx=-vmin-vmax*Math.random();      }    if(chip.yy<=pageY)              //垂直方向不到邊界時      {chip.yy=pageY;       chip.vy=vmin+vmax*Math.random();      }    if(chip.yy>=pageY+pageH-chip.h) //垂直方向超過邊界時      {chip.yy=pageY+pageH-chip.h;       chip.vy=-vmin-vmax*Math.random();      }    if(!mie)       {eval('document.'+chip.named+'.top ='+chip.yy);        eval('document.'+chip.named+'.left='+chip.xx);       }    else {eval('document.all.'+chip.named+'.style.pixelLeft='+chip.xx); eval('document.all.'+chip.named+'.style.pixelTop ='+chip.yy);       }    chip.timer1=setTimeout("movechip('"+chip.named+"')",100); //設置定時器   } } //終止圖片的循環漂浮 function stopme(chipname) {   if(brOK)   {    eval("chip="+chipname);    if(chip.timer1!=null)     {clearTimeout(chip.timer1)}   } } var moveimg; function beginmove() {   checkbrOK();   moveimg=new Chip("moveimg",120,150);   if(brOK)    { movechip("moveimg");} } </SCRIPT>

需要在body中添加一個ID為“moveimg”的div,其中包含要漂浮的圖片, 代碼如下所示: </head> <body onload="beginmove()"> <p> <DIV id="moveimg" style="POSITION: absolute"> <img border="0" src="LOGO1.gif" width="100" height="100"></p> </body> </html>

【運行效果】

 到邊界反彈的漂浮圖片運行效果

【難點剖析】

本例的難點是隨機移動的像素值和邊界值的判斷。在設置隨機數時,本例使用了“Math.random()”,其中“Math”是JavaScript的常用計算對象,“random”用來生成一個隨機數。頁面邊界值的獲取是通過body的相關屬性,如“scro11Left”是獲取最左側的坐標。

【源碼下載】

為了JS代碼的準確性,請點擊:到邊界反彈的漂浮圖片JS代碼 進行本實例源碼下載 


使用編程語言寫的程序,由于每條指令都對應計算機一個特定的基本動作,所以程序占用內存少、執行效率高。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 儋州市| 承德县| 江都市| 利川市| 清水县| 安远县| 兴山县| 潮州市| 余干县| 大石桥市| 新田县| 建平县| 南康市| 康乐县| 广州市| 安新县| 广元市| 河曲县| 江门市| 荆州市| 昭苏县| 兰西县| 灵山县| 合作市| 当雄县| 大城县| 额尔古纳市| 鹿邑县| 乐昌市| 民县| 绥宁县| 湘潭县| 长寿区| 凤冈县| 岳阳市| 秦皇岛市| 汶川县| 红安县| 安康市| 岗巴县| 右玉县|