`
hanxinyu
  • 浏览: 127271 次
  • 来自: henan china
社区版块
存档分类
最新评论

JavaScript 小技巧全集(一)

阅读更多
第一集 如何用滑鼠控制Web页面 

  在这一部分首先要为你展示的JavaScript特性是将你的滑鼠移到这个不同颜色的连结上面,此时看看浏览器下的状态列有何结果,然后这样的功能我们可以与JavaScript的功能相结合。怎样做到的呢 以下就是这一个连结的作法: 
   <a href="tpage.htm" onMouseOver="window.status=’Just another stupid link...’; return true"> 
  在这儿你只要在传统 <a> 的标签中加入 onMouseOver 的 method 就可达成你要的效果了。这里的 window.status 是用来让你可以在 WWW 浏览器的状态列上显示一些讯息用的。 

  在语法中,你可以看到讯息部分是用 ’ 括起来的部分,而非以 " 括起来。在讯息部分结束之后,必须加上 ; return true。好了,利用以上的特性可以很简单的完成第二个连结的例子,相当简单。以onMouseOver 的 method ,然后配合事件发生时去呼叫函数 hello() 就行了,不再多加解释了。  

作法如下  

 <html> 
 <head> 
 <script language="LiveScript"> 
 <!-- Hiding 
 function hello() { 
 alert("哈罗!"); 
 } 
 </script> 
 </head> 
 <body> 
 <a href="" onMouseOver="hello()">link</a> 
 </body> 
 </html> 


  第二集 如何在页面内加入日期

  我们要告诉你一个使用日期和时间的例子,是从你个人客户端机器获取日期和时间。 
做法如下: 
<script language="LiveScript"> 
<!-- Hiding 
 today = new Date() 
 document.write("现在时间是  ",today.getHours(),":", 
 today.getMinutes()) 
 document.write("<br>今天日期为  ", today.getMonth()+1, 
 "/",today.getDate(),"/",today.getYear()); 
 // end hiding contents --> 
</script> 

  在本例中,我们必需首先建立一个日期变数,这可以由 today= new Date()来完成。如果没有特别指定时间与日期的话,浏览器将会采用本地客户端机器的时间。若将它放入变数 today 中,这儿要注意的是,我 们并没有宣告 today 这个变数的型态。 
  除以上功能外,在建立日期物件时你也可以事先设定日期如下: 
   docStarted= new Date(96,0,13) 
  首先是年,接着是月(但记得减 1),再接着是日。同样的方法也可以加上时间的设定。如下  
   docStarted = new Date(96,0,13,10,50,0) 
  前三个是日期的年、月、日,接着是时、分、秒。最后,我们必须提醒你 JavaScript 并没有实际的日期型态,但是它却能毫不费力地显示出日期和时间,原因是它是从 1 / 1 / 1970 0 0h 开始以 ms(milli seconds) 来计算目前的时间的,这听起来似乎有些复杂。但你倒不用担心,它有标准 的共用函数可以计算,你只要知道如何用就可以了。 


第三集 如何在网页上使用history和forward 

  我们来看一个可以让你浏览不同文件的语法,我们这儿所要谈的是 back() 和 forward()这两个函数, 如果你本身的文件中有一个连结是回到你本身文件的上一个连结文件的话,那和Netscope 浏览器 中所提供的back 按钮功能是不一样的。例如,在我的文件中,正常的连结连到某些我们认为会是这个文件来源的地方, 称 这 个连结叫 back,而 Netscape 浏览器中的 back按钮,则是回到你历史记录中的上一个连结,所以不同JavaScript,也能提供类似 Netscape 中back 按钮的功能,试试这个连结,你可以体会一下回来的感觉,这个语法如下所示: 

 <html> 
 <body> 
 <FORM NAME="buttonbar"> 
 <INPUT TYPE="button" VALUE="Back" onClick="history. 
 back()"> 
 <INPUT TYPE="button" VALUE="JS- Home" onClick="location= 
 ’script.htm’"> 
 <INPUT TYPE="button" VALUE="Next" onCLick="history. 
 forward()"> 
 </FORM> 
 </body> 
 </html> 
 以上你也可以直接写成 history.go(-1) 与 history.go(1) 


第四集 如何使用运算函数 

  这是一个特殊的内建函数eval包括了运算式子为其参数,运算元,并回传一个值. 这函数对于运算一个表示的数值字串而言非常有用,举例来看,从FORM所输入的值总是字串,但你也许想要拿来运算,那我该怎么办?? 
  下面的这一个例子包函了输入的文字栏位,应用的运算函数和显示结果的另一区块.假如你打了一个数值运算式在第一个栏位,并且按下了按钮,运算式便会开使运算, 

 <SCRIPT> 
 function compute(obj) { 
 obj.result.value = eval(obj.expr.value) 
 } 
 </SCRIPT> 
 <FORM NAME="evalform"> 
 Enter an expression: 
 <INPUT TYPE=text NAME="expr" SIZE=20 > 
 <BR> 
 Result: <INPUT TYPE=text NAME="result" SIZE=20 > 
 <BR> 
 <INPUT TYPE="button" VALUE="Click Me" 
 onClick="compute(this.form)"> 
 </FORM> 



以下是原始语法 
<HTML> 
<HEAD> 
   <TITLE>浏览器的状态栏</TITLE> 
</HEAD> 
<BODY BGCOLOR="#FFFFFF"> 
<SCRIPT language="JavaScript"> 
<!-- Hide 
function statbar(txt) { 
window.status = txt; 

// --> 
</SCRIPT> 
<CENTER></CENTER> 
<CENTER><B><FONT COLOR="#0000FF"></FONT></B></CENTER> 
<P><FORM> 
<P><FONT COLOR="#000000">  <INPUT type="button" 
    name="look" value="显示!" 
    onclick="statbar(’嗨  这是状态列讯息!’);"> <INPUT 
    type="button" name="erase" value="清除!" 
    onclick="statbar(’’);"></FONT> 
<BR></FORM> 
<CENTER><FONT COLOR="#000000"> </FONT></CENTER> 
</BODY> 
</HTML> 

  在这个例子中我们建了二个按钮,此二个按个均会去呼叫 statbar(txt) 。函数中的 txt 表 示此函数将经由函数呼叫时传一个变数值进来 (我们叫 txt但它可代表任意不同的值)你可以见到在产生按钮的 <form> 标 签中,呼叫到函数statbar(txt)在此我们就不再写成 txt 。 
  直接把要显示在状态列上的文字写上去,于是我们可以见到这样的效果,变数 txt 经由 ’Value’ 中得它的值,然后传入所呼叫的函数中。所以当你按"显示"的按钮时,statbar(txt) 函数被呼叫,然后 txt 将读入字串"嗨  这是状态列讯息" 并且传入函数中,这种经由变数传递值的方式,可以使函数相当具有可变性。 
  接着来看第二个按钮"清除" 它也呼叫同样的函数,我们并不需要因为传递参数的不同而言两个不同的函数。所以现在我们可以来看看statbar(txt) 这个函数做些什么了,其实它相当简单。你只要将 txt 所要传的文字内容指定给 window.status 这个变数就可以了。即是 window.status =txt,而在清除状态列的时候,只是将空字串写入即可。不过要注意的是必须使用单引号及双引号来区别,这样才容易区分。 



以下是我们所制作的跑马灯效果的源程序 

 <html> 
 <head> 
 <script language="JavaScript"> 
 <!-- Hide 
 var scrtxt="这儿的讯息可以改为你要告诉别人的话  "+" 
 或是注意事项 ..."; 
 var lentxt=scrtxt.length; 
 var width=100; 
 var pos=1-width; 
 function scroll() { 
 pos++; 
 var scroller=""; 
 if (pos==lentxt) { 
 pos=1-width; 
 } 
 if (pos<0) { 
 for (var i=1; i<=Math.abs(pos); i++) { 
 scroller=scroller+" ";} 
 scroller=scroller+scrtxt.substring(0,width-i+1); 
 } 
 else { 
 scroller=scroller+scrtxt.substring(pos,width+pos); 
 } 
 window.status = scroller; 
 setTimeout("scroll()",150); 
 } 
 //--> 
 </script> 
 <body onLoad="scroll();return true;"> 
 Here goes your cool page! 
 </body> 
 </html> 
  此一程式中我们使用了和上面同样的函数(或部分)setTimeout(...)通知,计时器在时间到时去呼叫 scroll()函数,使得跑马灯中的文字往前进一格。 在函数的一开始,有一些较罗嗦的计算部分,但这并不难使我们了解,这些计算主要是用来取得跑马灯中的文字应该由那一个位置开始显示的用途。一开始当然是必需加一些空白在字的左边,让文字部分能尽可能靠右,然后再一字字的将空白减少,结果自然就造成字往前移动的效果了。 


第七集 如何去产生乱数 

  接下来我们要为你介绍一个可以产生乱数的函数,也是以 JavaScript 所写的这个函数只是利用了一点小技巧而已。而这种技巧在大部分的编译器(compiler)中,大都是如此(或类似)计算出乱数来的。相信 JavaScript 最后应也会以相似的方法来产生这样的method,如果它会提供这样功能的话,以下是此函数的结果: 
  这是一个计算产生的乱数.3861138662928667 
  以下是这个作法的写法  
   
  <head> 
  <script language="LiveScript"> 
   function RandomNumber() { 
   today = new Date(); 
   num = Math.abs(Math.sin(today.getTime())); 
   return num; 
   } 
  </script> 
  </head> 
  <body> 
  <script language="LiveScript"> 
  <!-- 
  document.write("This is a random number:", 
   RandomNumber()); 
   // --> 
  </script> 
  </body> 
  </html> 

  我们的做法是以上一个范例中的时间函数,它会出现一个很大的数,利用这个数再加以运算即可。例如:将它拿来做正弦函数(sin)的运算,得到的数再做绝对值的运算,结果可以得到一个介於 0 与 1 间的实数,因为时间的改变是 ms 为单位,而且你绝不会获得相同的数字不过这个做法并不适合拿来快速的连续产生一系列的乱数,但如果你是不定时久久的用一次,那效果就不错了。
分享到:
评论

相关推荐

    JavaScript小技巧全集 JavaScript教程 JavaScript源代码集

    这个“JavaScript小技巧全集”提供了丰富的教程和源代码,旨在帮助开发者深入理解和掌握JavaScript的各种实用技巧。 首先,我们来看看JavaScript的基本语法。JavaScript是一种弱类型、解释型的语言,它的变量声明不...

    JavaScript小技巧全集

    这个"JavaScript小技巧全集"涵盖了各种提升开发效率和代码质量的技巧,旨在帮助开发者更好地理解和运用这门语言。 1. 变量声明与作用域: - 使用`let`和`const`代替`var`来避免变量提升和作用域污染。 - 了解块级...

    javascript小技巧全集

    这个"JavaScript小技巧全集"涵盖了各种实用的编程技巧,旨在帮助开发者提升效率,编写出更优雅、性能更好的代码。无论您是在Windows、MacOS还是Linux等任何操作系统上工作,这些技巧都是通用的。 一、函数与闭包 1....

    JavaScript小技巧全集.doc

    本文将探讨几个实用的JavaScript小技巧,包括鼠标控制、显示日期和时间,以及利用历史记录和前进功能。 首先,让我们来看如何用鼠标控制Web页面。在JavaScript中,`onMouseOver`事件是一个非常有用的特性,允许我们...

    Javascript小技巧一箩筐

    本文将基于“JavaScript小技巧一箩筐”这一主题,深入探讨一系列实用的JavaScript技巧,涵盖事件处理、DOM操作、表单控制、定时器使用等多个方面,旨在帮助开发者提升代码效率与网站性能。 #### 事件处理与键盘操作...

    Javascript 实用小技巧

    在本篇标题为“Javascript实用小技巧”的文章中,作者分享了一系列实用的JavaScript代码片段,旨在帮助学习JavaScript的人士掌握一些提高编程效率的技巧。文章内容涉及了JavaScript的Function对象的apply和call方法...

    基于javaScript开发的控制台操作小技巧+非常适合小白入门

    基于javaScript开发的控制台操作小技巧+非常适合小白入门 基于javaScript开发的控制台操作小技巧+非常适合小白入门 基于javaScript开发的控制台操作小技巧+非常适合小白入门 基于javaScript开发的控制台操作小...

    javaScript小技巧。

    根据提供的文件内容,我们可以总结出以下几个JavaScript小技巧及相关知识点: ### 1. 引入外部JavaScript文件 在HTML文档中,可以通过`<script>`标签引入外部JavaScript文件来执行脚本代码。例如: ```html ...

    Javascript小技巧之生成html元素.docx

    7. **JavaScript编程的10个有用小技巧**和**12个特别有用的JavaScript小技巧【推举】**:这两篇文章分别分享了10个和12个实用的JavaScript编程技巧,是进阶学习的好资源。 总的来说,掌握生成HTML元素的技巧对...

    Javascript小技巧一箩筐,辅助你快速开发

    Javascript小技巧一箩筐,辅助你快速开发。

    1000个javascript小技巧

    以上只是JavaScript知识体系中的一小部分,"1000个JavaScript小技巧"将包含更多实用技巧,涉及DOM操作、AJAX请求、动画制作、函数式编程等多个方面,通过学习这些技巧,开发者可以不断提升JavaScript技能,应对各种...

    JavaScript小技巧整理篇(非常全).pdf

    ### JavaScript小技巧整理篇知识点详述 #### 一、引言 本文档旨在总结一系列JavaScript编程中的实用技巧,涵盖从基本操作到高级功能的应用。这些技巧不仅有助于提升开发效率,还能帮助开发者更好地理解和掌握...

    javascript小技巧合集

    标题:javascript小技巧合集 描述:本文将详细介绍一系列实用的JavaScript技巧,这些技巧涵盖了从基本的用户交互到更复杂的页面控制,旨在帮助开发者优化用户体验,增强网站安全性,并提升开发效率。 ### 重要技巧...

    40种javascript小技巧

    ### JavaScript小技巧详解 #### 技巧1:屏蔽鼠标右键 通过在HTML元素上设置`oncontextmenu="window.event.returnValue=false"`属性,可以禁止用户在该元素上使用鼠标右键。例如: ```html ;"> 无法右击此表格 ```...

    常用的一些javascript小技巧

    本文将深入探讨一系列实用的JavaScript小技巧,帮助开发者提高编码效率,优化用户体验。 #### 事件处理与键盘事件 - **事件目标元素**: `event.srcElement` 或 `event.target`(推荐)可以获取触发事件的目标元素,...

    javascript小技巧归纳

    根据提供的文件信息,我们...以上列举的各项JavaScript小技巧涵盖了从基本的用户交互到更高级的功能实现,对于提高网站的用户体验及安全性都有着重要作用。开发者可以根据实际需求灵活运用这些技巧来优化自己的项目。

    javascript小技巧

    这个"javascript小技巧"的压缩包显然包含了诸多实用的JavaScript技术与窍门,旨在帮助初学者快速上手,同时也为有经验的开发者提供进一步提升技能的资源。以下是基于标题、描述和文件名推测出的一些JavaScript知识点...

Global site tag (gtag.js) - Google Analytics