您的位置:

首页 >

网络编程 >

JavaScript编写的网页小游戏,很给力 >

JavaScript编写的网页小游戏,很给力

2016-02-06 06:26:44

分类:网络编程

以下为游戏界面:以下为游戏代码:<html><head> <script language="JavaScript"> <!-- Original: Nick Young () --> <!-- recompose: Pakchoi () --> var timerID = null; var INT = 40; var loadFLG = 0; var gameFLG = 0; var missFLG = 0; var tim = 0; var blcol = new Array(5); // block color var blsta = new Array(40); // block status var blNO = new Array(40); // block No var blclr = 0; // clear block var ballX = 0; // ball data var ballY = 0; var ballN = 5; var ballDX = 0; var ballDY = 0; var tmpRL = 193; var X = 0; blcol[0] = "blue"; blcol[1] = "yello"; blcol[2] = "red"; blcol[3] = "purple"; blcol[4] = "#FF0000"; blcol[5] = "black"; function mainF() { clearTimeout(timerID); tim = tim + 1; with (Math) { tmptim = floor(tim / 10)}; document.forms[0].TM.value = tmptim; ballX = ballX + ballDX; ballY = ballY + ballDY; outCHK(); blkCHK(); ball.style.posTop = ballY; ball.style.posLeft = ballX; racket.style.posLeft = tmpRL; if (gameFLG == 01) { timerID = setTimeout("mainF()", INT); } } function initG() { if (blclr >= 40) { blclr = 0; tim = 0; ballN = 3; with (Math) { tmptim = floor(tim / 10); } document.forms[0].TM.value = tmptim; clrmes.style.posTop = -1000; clrmes.style.posLeft = -1000; ovrmes.style.posTop = -1000; ovrmes.style.posLeft = -1000; for (ib = 0; ib < 5; ib++) { for (ia = 0; ia < 8; ia++) { chc(ib * 8 + ia +1, ib); blsta[ib * 8 + ia] = ib; } } } document.forms[0].BL.value = ballN; starter.style.posTop = -1000; starter.style.posLeft = -1000; gameFLG = 1; loadFLG = 1; ballX = 209; ballY = 270; ballDX =- 8; ballDY =- 8; tmpRL = 193; missFLG = 0; timerID = setTimeout("mainF()", INT); } function SUP() { UP.outerHTML = "<DIV ID='DN' STYLE='position:absolute'><A HREF='javascript:SDN()'>SPEED DOWN</A></DIV>"; DN.style.posTop = 170; DN.style.posLeft = 432; INT = 40; } function SDN() { DN.outerHTML = "<DIV ID='UP' STYLE='position:absolute'><A HREF='javascript:SUP()'>SPEED UP</A></DIV>"; UP.style.posTop = 170; UP.style.posLeft = 432; INT = 50; } function MouseMv() { if (loadFLG == 1) { tmpRL = X - 20; if (tmpRL < 16) { tmpRL = 16; } if (tmpRL > 370) { tmpRL = 370; } } } function outCHK() { if (ballX < 16){ ballX = 32 - ballX; ballDX = -ballDX; } if (ballX > 401){ ballX = 802 - ballX; ballDX = -ballDX; } if (ballY < 16){ ballY = 32 - ballY; ballDY = -ballDY; } if (ballY >= 272) { if (missFLG == 0) { tmpX = (ballDX / ballDY) * (272 - ballY) + ballX; if (tmpX >= tmpRL - 12) { if (tmpX <= tmpRL + 42) { ballY = 272; ballDY = -ballDY; ballX = tmpX; ballRD = tmpX - tmpRL; with (Math){ ballDX = 8 * abs(ballDX) / ballDX; } if (ballRD < -4){ ballDX = -15; } if (ballRD > 36){ ballDX = 15; } if (ballRD >= 14){ if (ballRD <= 16) { ballDX = -2; } } if (ballRD >= 17){ if (ballRD <= 20) { ballDX = 2; } } if (ballRD >= 0){ if (ballRD <= 4) { ballDX = -4; } } if (ballRD >= 28){ if (ballRD <= 32) { ballDX = 4; } } if (ballRD >= -4){ if (ballRD <= -1) { ballDX = -11; } } if (ballRD >= 33){ if (ballRD <= 36) { ballDX = 11; } } } } if (ballDY > 0){ missFLG = 1; } } else { if (ballY > 290){ missFLG = 0; ballN = ballN - 1; gameEnd(); } } } } function blkCHK() { tmpY = ballY + 4; tmpX = ballX + 4; if (tmpY >= 48) { if (tmpY <= 147) { if (tmpX >= 29) { if (tmpX <= 396) { with (Math) { ia = floor((tmpX - 29) / 46); ib = floor((tmpY - 48) / 20); ic = ib * 8 + ia; } if (blsta[ic] <= 4) { tmpbc = blsta[ic] + 1; blsta[ic] = tmpbc; chc(ic + 1, tmpbc); if (tmpbc == 5){ blclr = blclr + 1; } if (blclr >= 40){ gameEnd(); } if (ballDX > 0) { iy=(ballDY / ballDX) * (29 + 46 * ia - tmpX) + tmpY; if (iy > 48 + 20 * ib + 18) { tmpY1 = 48 + 20 * ib + 18; tmpX1 = (ballDX / ballDY) * (48 + 20 * ib + 18 - tmpY) + tmpX; ballX = tmpX1 - 4; ballY = tmpY1 - 4; ballDY = -ballDY; } else { if (iy < 44 + 20 * ib) { tmpY1 = 48 + 20 * ib; tmpX1 = (ballDX / ballDY) * (48 + 20 * ib - tmpY) + tmpX; ballX = tmpX1 - 4; ballY = tmpY1 - 4; ballDY = -ballDY; } else { tmpX1 = 29 + 46 * ia; tmpY1 = (ballDY / ballDX) * (29 + 46 * ia - tmpX) + tmpY; ballX = tmpX1 - 4; ballY = tmpY1 - 4; ballDX = -ballDX; } } } else { iy = (ballDY / ballDX) * (29+46 * ia + 44 - tmpX) + tmpY; if (iy > 48 + 20 * ib + 18) { tmpY1 = 48 + 20 * ib + 18; tmpX1 = (ballDX / ballDY) * (48 + 20 * ib + 18 - tmpY) + tmpX; ballX = tmpX1 - 4; ballY = tmpY1 - 4; ballDY = -ballDY; } else { if (iy < 44 + 20 * ib) { tmpY1 = 48 + 20 * ib; tmpX1 = (ballDX / ballDY) * (48 + 20 * ib - tmpY) + tmpX; ballX = tmpX1 - 4; ballY = tmpY1 - 4; ballDY = -ballDY; } else { tmpX1 = 29+46 * ia + 44; tmpY1 = (ballDY / ballDX) * (29 + 46 * ia + 44 - tmpX) + tmpY; ballX = tmpX1 - 4; ballY = tmpY1 - 4; ballDX = -ballDX; } } } } } } } } } function gameEnd() { document.forms[0].BL.value = ballN; gameFLG = 0; loadFLG = 0; starter.style.posTop = 200; starter.style.posLeft = 180; if (blclr >= 40) { clrmes.style.posTop = 150; clrmes.style.posLeft = 160; } if (ballN <= 0) { ovrmes.style.posTop = 150; ovrmes.style.posLeft = 160; blclr = 40; } } function onLD() { bgIE.style.posTop = 16; bgIE.style.posLeft = 16; ball.style.posTop = 270; ball.style.posLeft = 209; racket.style.posTop = 280; racket.style.posLeft = 193; info.style.posTop = 16; info.style.posLeft = 432; starter.style.posTop = -1000; starter.style.posLeft = -1000; clrmes.style.posTop = -1000; clrmes.style.posLeft = -1000; ovrmes.style.posTop = -1000; ovrmes.style.posLeft = -1000; DN.style.posTop = 170; DN.style.posLeft = 432; for (ib = 0; ib < 5; ib++) { for (ia = 0; ia < 8; ia++) { blsta[ib * 8 + ia] = ib; } } starter.style.posTop = 200; starter.style.posLeft = 180; } function chc(bno,bcl) { tmpbno = ((bno < 10.5) ? "b0" : "b") + (bno-1); eval(tmpbno).bgColor = blcol[bcl]; } // End --> </script></head><body onLoad="onLD();" onMouseMove='X=event.x;MouseMv();'><span id=info style='position:absolute'><pre><font style="font-size:24px" color="#000044"><i><b>PONG</b></i></font><form> Ball: <input type=text name=BL size=5 value=5> Time: <input type=text name=TM size=5 value=0></form></pre></span><script language="JavaScript"> <!-- block image write--> with (document) { write("<table id='bgIE' width='394' height='300' bgcolor='#000000' style='position:absolute'><td></td></table>"); write("<table id='b00' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:29'><td></td></table>"); write("<table id='b01' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:75'><td></td></table>"); write("<table id='b02' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:121'><td></td></table>"); write("<table id='b03' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:167'><td></td></table>"); write("<table id='b04' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:213'><td></td></table>"); write("<table id='b05' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:259'><td></td></table>"); write("<table id='b06' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:305'><td></td></table>"); write("<table id='b07' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:351'><td></td></table>"); write("<table id='b08' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:29'><td></td></table>"); write("<table id='b09' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:75'><td></td></table>"); write("<table id='b10' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:121'><td></td></table>"); write("<table id='b11' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:167'><td></td></table>"); write("<table id='b12' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:213'><td></td></table>"); write("<table id='b13' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:259'><td></td></table>"); write("<table id='b14' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:305'><td></td></table>"); write("<table id='b15' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:351'><td></td></table>"); write("<table id='b16' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:29'><td></td></table>"); write("<table id='b17' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:75'><td></td></table>"); write("<table id='b18' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:121'><td></td></table>"); write("<table id='b19' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:167'><td></td></table>"); write("<table id='b20' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:213'><td></td></table>"); write("<table id='b21' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:259'><td></td></table>"); write("<table id='b22' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:305'><td></td></table>"); write("<table id='b23' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:351'><td></td></table>"); write("<table id='b24' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:29'><td></td></table>"); write("<table id='b25' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:75'><td></td></table>"); write("<table id='b26' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:121'><td></td></table>"); write("<table id='b27' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:167'><td></td></table>"); write("<table id='b28' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:213'><td></td></table>"); write("<table id='b29' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:259'><td></td></table>"); write("<table id='b30' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:305'><td></td></table>"); write("<table id='b31' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:351'><td></td></table>"); write("<table id='b32' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:29'><td></td></table>"); write("<table id='b33' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:75'><td></td></table>"); write("<table id='b34' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:121'><td></td></table>"); write("<table id='b35' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:167'><td></td></table>"); write("<table id='b36' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:213'><td></td></table>"); write("<table id='b37' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:259'><td></td></table>"); write("<table id='b38' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:305'><td></td></table>"); write("<table id='b39' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:351'><td></td></table>"); write("<div id='ball' style='position:absolute'>"); write("<table width='4' height='8' bgcolor='#B0B0B0' style='position:absolute; left:0; top:0'><td></td></table>"); write("<table width='8' height='4' bgcolor='#B0B0B0' style='position:absolute; left:-1; top:2'><td></td></table>"); write("<table width='4' height='4' bgcolor='#FFFFFF' style='position:absolute; left:0; top:1'><td></td></table>"); write("</div>"); write("<table id='racket' width='40' height='4' bgcolor='#B0B0FF' style='position:absolute'><td></td></table>"); write("<div id='starter' style='position:absolute'><form><input type='button' value='START' ONCLICK='initG();blur()'></form></div>"); write("<div id='clrmes' style='position:absolute'><font style='font-size:24px' color='#44CC44'>ALL CLEAR!</font></div>"); write("<div id='ovrmes' style='position:absolute'><font style='font-size:24px' color='#CC4444'>GAME OVER!</font></div>"); write("<div id='DN' style='position:absolute'><a href='javascript:SDN()'>SPEED DOWN</a></div>"); }</script></body></html>以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,

在 AngularJs 中,它的指令使用 directive ( name,factor_function)来实现:angular.module( 'myapp' ,[]).directive (myDirective,function (){ return{ template : '', restrict: '', replace: '', ........ }})除了内置指令,Vue.js 也允许组件自定义指令。 + 自定义指令提供一种机制将数据的变化映射为 DOM 行为 + Vue.js 用 directive ( id,definition) 方法注册一个全局的自定义指令 + 自定义的指令接受两个参数: 指令 ID 与定义对象 + 也可以用组件的 directives 注册一个局部自定义指令 (此方法相当于 AngularJs restrict 属性为A)1. 钩子函数 + 钩子函数是 Windows 消息处理机制的一部分 + 通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。 + 钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。 + Windows 的钩子函数可以认为是 Windows 的主要特性之一。利用它们,您可以捕捉您自己进程或其它进程发生的事件。 + 通过“钩挂”,您可以给 Windows 一个处理或过滤事件的回调函数,该函数也叫做“钩子函数”,当每次发生您感兴趣的事件时,WINDOWS 都将调用该函数。angularjs 提供了两个函数: compile 和 link ,其中编译函数主要负责将作用域和 DOM 进行链接;链接函数用来创建可以操作 DOM 的指令注意: compile 和 link 是互斥的,入如果同时设置这两个选项,则会把 compile 返回函数当做 link 函数,而忽略 link 选项本身Vue.js 同样也提供了几个钩子函数都是可选的,相互之间没有制约关系 钩子函数:主要负责将作用域和 DOM 进行链接;链接函数用来创建可以操作 DOM 的指令 + bind — 只调用一次,在指令第一次绑定到元素上的时候调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作inserted — 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中)update — 在 bind 之后立即以初始值为参数第一次调用,之后每当被绑定元素所在的模板更新时调用,而不论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新,参数为新值与旧值。componentUpdated — 被绑定元素所在模板完成一次更新周期时调用unbind — 只调用一次,在指令从元素上解绑时调用 Vue.directive('my-directive', { bind: function(){ //做绑定的准备工作 //比如添加事件监听器,或是其他只需要执行一次的复杂操作 }, inserted: function(){ //... }, update: function(){ //根据获得的新值执行对应的更新 //对于初始值也会调用一次 }, componentUpdated: function(){ //... }, unbind: function(){ //做清理操作 //比如移除bind时绑定的事件监听器 } })在注册之后,便可以在 Vue.js 模板中这样写(记得添加前缀 v-):<div v-my-directive = 'someValue'></div>当只需要 update 函数时,可以传入函数替代定义对象:Vue.directive( 'my-directive',function (value) { // 这个函数作用 update()})2. 指令实例属性 所有钩子函数都将被赋值到实际的指令对象中,在钩子内 this 指向这个指令对象。 这个对象暴露了一些有用的属性: 钩子函数的参数:el — 指令绑定的元素,可以用来直接操作 DOM 。binding — 一个对象,包含以下属性: name — 指令的名字,不包含前缀value —指令的绑定值, 例如: v-my-directive=”1 + 1”,value 的值是 2。oldValue — 指令绑定的前一个值,仅在 update 和 componentUpdated 钩子中可用。无论值是否改变都可用。expression — 指令的表达式,不包括参数和过滤器,绑定值的字符串形式。 例如 v-my-directive=”1 + 1” , expression 的值是 “1 + 1”arg — 传给指令的参数。例如 v-my-directive:foo, arg 的值是 “foo”。modifiers — 一个对象,包含指令的修饰符。例如: v-my-directive.foo.bar, 修饰符对象 modifiers 的值是 { foo: true, bar: true }。vm — 拥有该指令上下文 ViemModelvnode — Vue 编译生成的虚拟节点。oldVnode: 上一个虚拟节点,仅在 update 和 componentUpdated 钩子中可用。desciiptor — 一个对象,包含指令的解析结果注意:我们应当将这些属性视为只读,不要修改它们,我们也可以给指令对象添加自定义属性,但是注意不要覆盖已有的内部属性下面将讲解一个简单的例子,当页面加载时,input输入框将自动聚焦。 代码如下://注册一个全局自定义指令v-focus// 当绑定元素插入到DOM中// 聚焦元素 <div id="app"> <input v-focus> /div>Vue.directive('focus', { inserted: function (el) { el.focus() } }); var app = new Vue({ el: '#app' });下面将讲解一个使用钩子函数参数的例子,将元素的字体色设置为 #fff,将背景色设置为传入指令的参数 red,并将指令名指令绑定值,指令绑定值的表达式,传入指令的参数显示在中。 代码如下: <div id="example" v-demo-directive:red="message"></div><script> Vue.directive('demoDirective', { bind: function(el, binding, vnode){ el.style.color = '#fff' el.style.backgroundColor = binding.arg el.innerHTML = '指令名 name:' + binding.name + '<br>' + '指令绑定值 value:' + binding.value + '<br>' + '指令绑定表达式expression:' + binding.expression + '<br>' + '传入指令的参数argument - ' + binding.arg + '<br>' }, }); var demo = new Vue({ el: '#example', data: { message: 'hello!' } }) </script>3. 对象字面量 + 如果指令需要多个值,则可以传入一个 javascript 对象字面量 + 指令可以使用任意合法的 javascript 表达式<div id="app" v-demo-directive="{ color: 'white', text: 'hello!' }"></div>Vue.directive('demoDirective', function(el, binding, vnode){ console.log(binding.value.color); console.log(binding.value.text); });var demo = new Vue({ el: '#app' })4. 字面指令 + 当指令使用了字面修饰符时,它的值将按普通字符串处理并传递给 update 方法 + update 方法将只调用一次,因为普通字符串不能影响数据变化 + 若在创建自定义指令时,设置 inListerral: true 则特性值将被视作字符串,并将赋值给该指令的expression,字面指令不会建立数据监视。div id="isExample" v-myEx.literal = 'foo bar baz'></div>Vue.directive('myEx',function(el, binding, vnode){ console.log(binding.value.literal)})var hah = new Vue({ el: '#isExample'})以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

场景:js中String类型自带的属性length获取的是字符串的字符数目,但是前端经常会需要限制字符串的显示长度,一个中文字符又大概占两个英文小写字符的显示位置,所以中英文混合的情况下用length值来判断显示长度往往并不正确。常规的解决办法是遍历字符串,中文字符计长度2,非中文字符计长度1,通过新计算出来长度总和来限制字符串的显示长度。看代码↓↓↓var Tools ={ //是否包含中文 hasZh: function(str){ for(var i = 0;i < str.length; i++) { if(str.charCodeAt(i) > 255) //如果是汉字,则字符串长度加2 return true; return false; } }, //重新计算长度,中文+2,英文+1 getlen: function(str){ var strlen = 0; for(var i = 0;i < str.length; i++) { if(str.charCodeAt(i) > 255) //如果是汉字,则字符串长度加2 strlen += 2; else strlen++; } return strlen; }, //限制长度 limitlen: function(str, len){ var result = ""; var strlen = 0; for(var i = 0;i < str.length; i++) { if(str.charCodeAt(i) > 255) //如果是汉字,则字符串长度加2 strlen += 2; else strlen++; result += str.substr(i,1); if(strlen >= len){ break; } } return result; }}这种方法的原理是根据中英文的unicode编码范围不同来判断的,中文占2个字节,英文占1个字节,所以中文的unicode编码值肯定大于2^8-1=255。上述方法可以更严谨一点:就是考虑unicode编码范围,具体的范围可以戳Unicode TablePS: 汉字的unicode编码范围16进制为4E00-9FA5,10进制则为:19968-40869,即判断中文的准确表达式为:str.charCodeAt(i)>=19968 && str.charCodeAt(i)<=40869插一句不太严谨的话,代码不用限制太严谨的范围,毕竟你不知道用户(测试)会输哪些奇怪的东西。以上这篇js处理包含中文的字符串实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

1、申请开通cnblogs的JS代码支持2、将微信收款码图片上传到cnblogs3、将如下代码中的http://files.cnblogs.com/files/eritpang/weixin.bmp替换为刚刚上传的收款码图片的链接地址,然后将代码添加到设置->博客侧边栏公告(支持HTML代码)(支持JS代码)里面,再点击“保存”即可。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html;" /> <title>打赏</title> <style type="text/css"> #dsSidebar { z-index: 999999; top: 18%; width: 200px; height: 200px; position: fixed; right: -200px; } #dsBtn { z-index: 999999; width: 30px; height: 58px; left: -30px; top: 80px; line-height: 28px; position: absolute; } .dsPanels { margin: 0px auto; overflow: hidden; } .dsPanel { float: left; margin: 0px 0px; padding: 12px 0px; text-align: center; background: #ffeedd; border-color: #ffeedd; border-radius: 8px; } .dsPanel-highlight { margin-top: 0; margin-bottom: 0; padding-left: 10px; padding-right: 10px; width: 160px; border: 8px solid #fd935c; } .dsPanel-button { display: block; font-size: 16px; font-weight: 500; color: #ffeedd; text-align: center; text-decoration: none; text-shadow: 0 1px rgba(black, .1); background: #fd935c; border-bottom: 2px solid #cf7e3b; border-color: rgba(black, .15); border-radius: 4px; } .dsPanel-title { width: 128px; margin: -15px auto 15px; padding-bottom: 0px; line-height: 22px; font-size: 14px; font-weight: bold; color: #ffeedd; text-shadow: 0 1px rgba(black, .05); background: #fd935c; border-radius: 0 0 4px 4px; } </style> <script> function moveBtn() { var dsBtn = document.getElementById("dsBtn"); var now = new Date(); var times = now.getTime(); var offsetSize = Math.sin(times / 380.0) * 15 + 45; var radius = Math.sin(times / 380.0) * 18 + 24; dsBtn.style.left = -offsetSize + 'px'; dsBtn.style.width = offsetSize + 'px'; dsBtn.style.borderRadius = radius + 'px'; setTimeout(moveBtn, 60); } var dsSidebarTimer = null; var dsSidebarOffsetRight = -200; function startMove(dsSidebarTarget, dsSidebarSpeed) { clearTimeout(dsSidebarTimer); function doMove() { var dsSidebar = document.getElementById('dsSidebar'); dsSidebarSpeed *= 0.9; if (dsSidebarSpeed > -1 && dsSidebarSpeed < 0) { dsSidebarSpeed = -1; } else if (dsSidebarSpeed < 1 && dsSidebarSpeed > 0) { dsSidebarSpeed = 1; } dsSidebarOffsetRight = dsSidebarOffsetRight + dsSidebarSpeed; if (dsSidebarSpeed > 0 && dsSidebarOffsetRight >= dsSidebarTarget) { dsSidebarOffsetRight = dsSidebarTarget; dsSidebar.style.right = dsSidebarOffsetRight + 'px'; } else if (dsSidebarSpeed < 0 && dsSidebarOffsetRight <= dsSidebarTarget) { dsSidebarOffsetRight = dsSidebarTarget; dsSidebar.style.right = dsSidebarOffsetRight + 'px'; } else { dsSidebar.style.right = dsSidebarOffsetRight + 'px'; dsSidebarTimer = setTimeout(doMove, 30); } } doMove(); } document.getElementById('dsImg').onload = function () { var dsSidebar = document.getElementById('dsSidebar'); dsSidebar.onmouseover = function () { startMove(0, 24); } dsSidebar.onmouseout = function () { startMove(-200, -24); } moveBtn(); } </script></head><body> <div id="dsSidebar"> <div class="dsPanels"> <div class="dsPanel dsPanel-highlight"> <p class="dsPanel-title">喜欢请用微信打赏</p> <img id='dsImg' src="http://files.cnblogs.com/files/eritpang/weixin.bmp" alt="" width="160" height="160" /> </div> </div> <span class="dsPanel-button" id='dsBtn'><b>打<br/>赏</b></span> </div></body></html>4、效果如下。以上这篇自制简易打赏功能的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

== equality 等同,=== identity 恒等。 ==, 两边值类型不同的时候,要先进行类型转换,再比较。 ==,不做类型转换,类型不同的一定不等。下面分别说明: 先说 ===,这个比较简单。下面的规则用来判断两个值是否===相等:1、如果类型不同,就[不相等]2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。4、如果两个值都是true,或者都是false,那么[相等]。5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。6、如果两个值都是null,或者都是undefined,那么[相等]。再说 ==,根据以下规则: 1、如果两个值类型相同,进行 === 比较。2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:a、如果一个是null、一个是undefined,那么[相等]。b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻 烦,我也不大懂)e、任何其他组合,都[不相等]。举例:"1" == true类型不等,true会先转换成数值 1,现在变成 "1" == 1,再把"1"转换成 1,比较 1 == 1, 相等。= 赋值运算符== 等于 === 严格等于例:var a = 3; var b = "3"; a==b 返回 true a===b 返回 false 因为a,b的类型不一样===用来进行严格的比较判断以上所述是小编给大家介绍的JavaScript中三个等号和两个等号的区别(== 和 ===),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

焦点访谈

最新最热的文章

更多 >

COPYRIGHT (©) 2017 Copyright ©2017 5060网址大全 网站地图

联系我们

827570882

扫描二维码分享到微信