Oo緣來(lái)是你oO


          posts - 120,comments - 125,trackbacks - 0
          ????????????????????????????????????????????????? JavaScript For Beginners
          ???????????????????????????????????????????????????????????????? By Nongjian Zhou .?
          ????????????????????????????????????????????
          ????????????????????????????????????????????????? 編輯:
          馬嘉楠 ???2006-10-25

          注:我對(duì)原文進(jìn)行了編輯,對(duì)一些詞匯標(biāo)注顏色,方便閱讀。本來(lái)準(zhǔn)備翻譯,但是覺(jué)得文章簡(jiǎn)單易懂,而且原文寫(xiě)得很好,所以就不獻(xiàn)丑了。希望對(duì)JavaScript初學(xué)者能有所幫助。你可以跟著作者一起做那些示例代碼,等讀完文章的時(shí)候,你就可以掌握J(rèn)avaScript的基本操作了,你會(huì)發(fā)現(xiàn)其實(shí)這一切很容易。

          Contents

          Embedding and including

          Let's first see a simple example:??

          < html >
          < head >
          < title > This?is?a?JavaScript?example </ title >
          < script? language ="JavaScript" >
          <!--
          document.write(
          " Hello?World! " );
          // -->

          </ script >
          </ head >
          < body > ?Hi,?man!? </ body >
          </ html >

          Usually, JavaScript code starts with the tag <Script language="JavaScript"> and ends with the tag </script>. The code placed between <head> and </head>. Sometimes, people embed the code in the <body> tags:

          < html >
          < head ></ head >
          < body >
          < script >
          ..
          // ?The?code?embedded?in?the?<body>?tags.
          </ script >
          </ body >
          </ html >

          Why do we place JavaScript code inside comment fields <!-- and //--> ?
          It's for ensuring that the Script is not displayed by old browsers that do not support JavaScript. This is optional, but considered good practice. The LANGUAGE attribute also is optional, but recommended. You may specify a particular version of JavaScript:??

          < script? language ="JavaScript1.2" >

          You can use another attribute SRC to include an external file containing JavaScript code:?
          ??

          < script? language ="JavaScript" ?src ="hello.js" ></ script >

          For example, shown below is the code of the external file hello.js?:

          document.write("Hello?World!")

          The external file is simply a text file containing JavaScript code with the file name extension ".js".

          Note:

          1. Including an external file only functions reliably across platforms n the version 4 browsers.
          2. The code can't include tags <script language...>?and </script>, or you will get an error message.

          Back to top

          write and writeln

          In order to output text in JavaScript you must use write() or writeln(). Here's an example:
          ?

          < HTML >
          < HEAD >
          < TITLE > ?Welcome?to?my?site </ TITLE ></ HEAD >
          < BODY >
          < SCRIPT? LANGUAGE ="JAVASCRIPT" >
          <!--
          document.write(
          " Welcome?to?my?site! " );
          // ?-->

          </ SCRIPT >
          </ BODY >
          </ HTML >

          Note: the document object write is in lowercase as JavaScript is case sensitive. The difference between write and writeln is: write just outputs a text, writeln outputs the text and a line break.


          Back to top

          Document object

          The document object is one of the most important objects of JavaScript. Shown below is a very simple JavaScript code:??

          document.write("Hi?there.")

          In this code, document is the object. write is the method of this object. Let's have a look at some of the other methods that the document object possesses.

          lastModified

          You can always include the last update date on your page by using the following code:? ????

          < script? language ="JavaScript" >
          document.write(
          " This?page?created?by?John?N.?Last?update: " ? + ?document.lastModified);
          </ script > ?

          All you need to do here is use the lastModified property of the document. Notice that we used + to put together This page created by John N. Last update: and document.write.

          bgColor and fgColor

          Lets try playing around with bgColor and fgColor:?

          < script >
          document.bgColor
          = " black "
          document.fgColor
          = " #336699 "
          </ script > ?



          Back to top

          Message Box

          alert

          There are three message boxes: alert, confirm, and prompt. Let's look at the first one:
          ?
          ?
          < body >
          < script >
          window.alert(
          " Welcome?to?my?site! " )
          </ script >

          </ body >

          You can put whatever you want inside the quotation marks.

          confirm

          An example for confirm box:?

          window.confirm("Are?you?sure?you?want?to?quit?")?

          prompt

          Prompt box is used to allow a user to enter something according the promotion:?
          ?
          window.prompt("please?enter?user?name")?

          In all our examples above, we wrote the box methods as window.alert(). Actually, we could simply write the following instead as:? ????
          ?
          alert()
          confirm()
          prompt()


          Back to top

          Variables and Conditions

          Let's see an example:? ?

          < script >
          var ?x = window.confirm( " Are?you?sure?you?want?to?quit " )

          if
          ?(x)
          ????window.alert(
          " Thank?you. "
          )
          else

          ????window.alert(
          " Good?choice. " )
          </ script >

          There are several concepts that we should know. First of all, var x = is a variable declaration. If you want to create a variable, you must declare the variable using the var statement.?x will get the result, namely, true or false?. Then we use a condition statement if else to give the script the ability to choose between two paths, depending on this result (condition for the following action). If the result is true (the user clicked "ok"), "Thank you" appears in the window box. If the result is false (the user clicked "cancel"), "Good choice" appears in the window box instead. So we can make more complex boxes using var, if and those basic methods.

          < script >
          var ?y = window.prompt( " please?enter?your?name " )
          window.alert(y)
          </ script >

          Another example:?? ?

          < html >< head >
          < script >
          var ?x = confirm( " Are?you?sure?you?want?to?quit? " )
          if ?( !
          x)
          ????window.location
          = " http://www.yahoo.com "

          </ script >
          </ head >
          < body >
          Welcome?to?my?website!.
          </ body ></ html >

          If you click "cancel", it will take you to yahoo, and clicking ok will continue with the loading of the current page "Welcome to my website!". Note: if(!x) means: if click "cancel". In JavaScript, the exclamation mark !means: "none".


          Back to top

          Function

          Functions are chunks of code.Let's create a simple function:?

          function?test()
          {
          ???document.write("Hello?can?you?see?me?")
          }

          Note that if only this were within your <script> </script> tags, you will not see "Hello can you see me?" on your screen because functions are not executed by themselves until you call upon them. So we should do something:? ?
          ??
          ?

          function?test()
          {
          ???document.write("Hello?can?you?see?me?")
          }
          test()?

          Last line test() calls the function, now you will see the words "Hello can you see me?".


          Back to top

          Event handler

          What are event handlers? They can be considered as triggers that execute JavaScript when something happens, such as click or move your mouse over a link, submit a form etc.

          onClick

          onClick handlers execute something only when users click on buttons, links, etc. Let's see an example:

          < script >
          function ?ss()
          {
          alert(
          " Thank?you! "
          )
          }
          </ script >

          < form >
          < input? type ="button" ?value ="Click?here" ?onclick ="ss()" >
          </ form >

          The function ss()?is invoked when the user clicks the button. Note: Event handlers are not added inside the <script> tags, but rather, inside the html tags.

          onLoad

          The onload event handler is used to call the execution of JavaScript after loading:? ?

          < body? onload ="ss()" >
          < frameset? onload ="ss()" >
          < img? src ="whatever.gif" ?onload ="ss()" >

          onMouseover,onMouseout

          These handlers are used exclusively with links.

          < a? href ="#" ?onMouseOver ="document.write('Hi,?nice?to?see?you!" > Over?Here! </ a >
          < a? href ="#" ?onMouseOut ="alert('Good?try!')" > Get?Out?Here! </ a >

          onUnload

          onUnload executes JavaScript while someone leaves the page. For example to thank users.?

          < body? onunload ="alert('Thank?you?for?visiting?us.?See?you?soon')" >

          Handle multiple actions

          How do you have an event handler call multiple functions/statements? That's simple. You just need to embed the functions inside the event handler as usual, but separate each of them using a semicolon:?

          < form >
          < input? type ="button" ?value ="Click?here!" ?onClick ="alert('Thanks for?visiting?my?site!');window.location='http://www.yahoo.com'" >
          </ form >
          ?


          Back to top

          Form

          Let's say you have a form like this:? ?

          < form? name ="aa" >
          < input? type ="text" ?size ="10" ?value ="" ?name ="bb" >< br >
          < input? type ="button" value ="Click?Here" onclick ="alert(document.aa.bb.value)" >
          </ form >

          Notice that we gave the names to the form and the element. So JavaScript can gain access to them.

          onBlur

          If you want to get information from users and want to check each element (ie: user name, password, email) individually, and alert the user to correct the wrong input before moving on, you can use onBlur. Let's see how onBlur works:?

          < html >
          <
          head
          >
          <
          script >

          function ?emailchk()
          {
          var ?x =
          document.feedback.email.value
          if ?(x.indexOf( " @ " ) ==- 1
          )
          {
          ????alert(
          " It?seems?you?entered?an?invalid?email?address. "
          )
          ????document.feedback.email.focus()
          }
          }
          </ script
          >
          </
          head
          >

          < body >
          < form
          name ="feedback" >

          Email:
          < input? type ="text" ?size ="20" ?name ="email"
          onblur
          ="emailchk()" >< br >
          Comment:?
          < textarea? name ="comment" ?rows ="2" ?cols ="20" ></ textarea >< br >
          < input? type ="submit" ?value ="Submit" >
          </ form >
          </ body >
          </
          html >

          If you enter an email address without the @, you'll get an alert asking you to re-enter the data . What is: x.indexOf("@")==-1? This is a method that JavaScript can search every character within a string and look for what we want. If it finds it will return the position of the char within the string. If it doesn't, it will return -1. Therefore, x.indexOf("@")==-1basically means: "if the string doesn't include @, then:?

          alert("It?seems?you?entered?an?invalid?email?address.")
          document.feedback.email.focus()

          What's focus()?? This is a method of the text box, which basically forces the cursor to be at the specified text box. onsubmitUnlike onblur, onsubmit handler is inserted inside the <form>?tag, and not inside any one element. Lets do an example: ???
          ????
          < script >
          <!--
          function ?validate()
          {
          if (document.login.userName.value == ""
          )
          {
          ????alert?(
          " Please?enter?User?Name "
          )
          ????
          return ? false

          }
          if (document.login.password.value == "" )
          {
          ????alert?(
          " Please?enter?Password "
          )
          ????
          return ? false

          }
          }
          // -->
          </ script >

          < form? name ="login" ?onsubmit ="return?validate()" >
          < input? type ="text" ?size ="20" ?name ="userName" >
          < input? type ="text" ?size ="20" ?name ="password" >
          < input? type ="submit" ?name ="submit" ?value ="Submit" >
          </ form >

          Note:
          if(document.login.userName.value=="").This means "If the box named userName of the form named login contains nothing, then...". return false. This is used to stop the form from submitting. By default, a form will return true if submitting. return validate() That means, "if submitting, then call the function validate()?".?

          Protect a file by using Login

          Let's try an example?

          < html >< head >
          < SCRIPT? Language ="JavaScript" >
          function ?checkLogin(x)
          {
          if ?((x.id.value? != ? " Sam " ) || (x.pass.value? != " Sam123 "
          ))
          {
          ????alert(
          " Invalid?Login "
          );
          ????
          return ? false
          ;
          }
          else

          ????location
          = " main.htm "
          }
          </ script >

          </ head >< body >
          < form >
          < p > UserID: < input? type ="text" ?name ="id" ></ p >
          < p > Password: < input? type ="password" ?name ="pass" ></ p >
          < p >< input? type ="button" ?value ="Login" ?onClick ="checkLogin(this.form)" ></ p >
          </ form >
          </ body ></ html >

          || means "or", and , != indicates "not equal". So we can explain the script: "If the id does not equal 'Sam', or the password does not equal 'Sam123', then show an alert ('Invalid Login') and stop submitting. Else, open the page 'main.htm'".
          ?

          Back to top

          Link

          In most cases, a form can be repaced by a link:? ?

          < a? href ="JavaScript:window.location.reload()" > Click?to?reload! </ a >

          More examples:?? ?????

          < a? href ="#" ?onClick ="alert('Hello,?world!')" > Click?me?to?say?Hello </ a >< br >

          < a? href ="#" ?onMouseOver ="location='main.htm'" > Mouse?over?to?see?Main?Page </ a >



          Back to top

          Date

          Let's see an example:

          < HTML >< HEAD >< TITLE > Show
          Date
          </ TITLE ></ HEAD >

          < BODY >
          < SCRIPT? LANGUAGE ="JavaScript" >
          var ?x = ? new ?Date();
          document.write?(x);
          </ SCRIPT >

          </ BODY ></ HTML >

          To activate a Date Object, you can do this: var x = new Date(). Whenever you want to create an instance of the date object, use this important word: new followed by the object name().

          Dynamically display different pages

          You can display different pages according to the different time. Here is an example:?

          var?banTime=?new?Date()
          var?ss=banTime.getHours()
          if?(ss
          < =12
          )
          ????document.write("<img?src
          ='banner1.gif' >
          ")
          else
          ????document.write("
          < img? src ='banner2.gif' > ")?
          ?
          Date object
          Methods
          getDate
          getTime
          getTimezoneOffset
          getDay
          getMonth
          getYear
          getSeconds
          getMinutes
          getHours


          Back to top

          Window

          Open a window

          To open a window, simply use the method "window.open()":?

          < form >
          < input? type ="button" ?value ="Click?here?to?see" ?onclick ="window.open('test.htm')" >
          </ form > ?
          ?

          You can replace test.htm with any URL, for example, with http://www.yahoo.com

          Size, toolbar, menubar, scrollbars, location, status

          Let's add some of attributes to the above script to control the size of the window, and show: toolbar, scrollbars etc. The syntax to add attributes is:

          open("URL","name","attributes")

          For example:?
          ?
          < form >
          < input? type ="button" ?value ="Click?here?to?see"
          onclick
          ="window.open('page2.htm','win1','width=200,height=200,menubar')" >
          </ form > ?

          Another example with no attributes turned on, except the size changed:? ?

          < form >
          < input? type ="button" ?value ="Click?here?to?see"
          onclick
          ="window.open('page2.htm','win1','width=200,height=200')" >
          </ form >

          Here is the complete list of attributes you can add:
          width height toolbar
          location directories status
          scrollbars resizable menubar

          Reload

          To reload a window, use this method:? ???? ????
          ???
          window.location.reload()

          Close Window

          Your can use one of the codes shown below:?

          < form >
          < input? type ="button" ?value ="Close?Window" ?onClick ="window.close()" >
          </ form >
          < a? href ="javascript:window.close()" > Close?Window </ a >
          ?

          Loading

          The basic syntax when loading new content into a window is:?
          ?
          window.location="test.htm"

          This is the same as? ?

          < a? href ="test.htm>Try?this?</a>

          Let's provide an example, where a confirm box will allow users to choose between going to two places:?

          < script >
          <!--
          function ?ss()
          {
          var ?ok = confirm('Click? " OK " ?to?go?to?yahoo,? " CANCEL "
          ?to?go?to?hotmail')
          if
          ?(ok)
          location
          = " http://www.yahoo.com "

          else
          location
          = " http://www.hotmail.com "
          }
          // -->
          </ script >
          ?

          Remote Control Window

          Let's say you have opened a new window from the current window. After that, you will wonder how to make a control between the two windows. To do this, we need to first give a name to the window.Look at below:

          aa=window.open('test.htm','','width=200,height=200')

          By giving this window a name "aa", it will give you access to anything that's inside this window from other windows. Whenever we want to access anything that's inside this newly opened window, for example, to write to this window, we would do this: aa.document.write("This is a test.").

          Now, let's see an example of how to change the background color of another window:?

          < html >< head >< title ></ title ></ head >
          < body >
          < form >
          < input? type ="button" ?value ="Open?another?page"
          onClick
          ="aa=window.open('test.htm','','width=200,height=200')" >
          < input? type ="radio" ?name ="x" ?onClick ="aa.document.bgColor='red'" >
          < input? type ="radio" ?name ="x" ?onClick ="aa.document.bgColor='green'" >
          < input? type ="radio" ?name ="x" ?onClick ="aa.document.bgColor='yellow'" >
          </ form >
          </ body ></ html >

          ?

          opener

          Using "opener" property, we can access the main window from the newly opened window.

          Let's create Main page:? ?

          < html >
          < head >
          < title ></ title >
          </ head >
          < body >
          < form >
          < input? type ="button" ?value ="Open?another?page"
          onClick ="aa=window.open('test.htm','','width=100,height=200')" >
          </ form >
          </ body >
          </ html >


          Then create Remote control page (in this example, that is test.htm):?
          ?

          < html >
          < head >
          < title ></ title >
          < script >
          function ?remote(url){
          window.opener.location
          =
          url
          }
          </ script >

          </ head >
          < body >
          < p >< a? href ="#" ?onClick ="remote('file1.htm')" > File1 </ a ></ p >
          < p >< a? href ="#" ?onClick ="remote('file2.htm')" > File2 </ a ></ p >
          </ body >
          </ html >


          Try it now!


          Back to top

          Frame

          One of the most popular uses of loading multiple frames is to load and change the content of more than one frame at once. Lets say we have a parent frame:?

          < html >
          < frameset? cols ="150,*" >
          < frame? src ="page1.htm" ?name ="frame1" >
          < frame? src ="page2.htm" ?name ="frame2" >
          </ frameset >
          </ html >

          We can add a link in the child frame "frame1" that will change the contents of not only page1, but page2 too. Shown below is the html code for it:? ?

          < html >
          < body >
          < h2 > This?is?page?1? </ h2 >
          < a? href ="page3.htm"
          onClick
          ="parent.frame2.location='page4.htm'" > Click?Here </ a >
          </ body >
          </ html >

          Notice: You should use "parent.frame2.location" to access another frame. "parent" standards for the parent frame containing the frameset code.




          Source:http://www.codeproject.com/jscript/jsbeginner.asp



          馬嘉楠
          jianan.ma@gmail.com

          posted on 2006-10-25 14:26 馬嘉楠 閱讀(3879) 評(píng)論(5)  編輯  收藏 所屬分類: Java Script

          FeedBack:
          # re: JavaScript For Beginners(轉(zhuǎn)載)
          2006-10-25 20:05 | Web 2.0 技術(shù)資源
          俺是中國(guó)人........ 看不懂E文..........  回復(fù)  更多評(píng)論
            
          # re: JavaScript For Beginners(轉(zhuǎn)載)
          2006-10-25 21:25 | dudu
          請(qǐng)不要在首頁(yè)轉(zhuǎn)載文章!!  回復(fù)  更多評(píng)論
            
          # re: JavaScript For Beginners(轉(zhuǎn)載)
          2006-10-25 21:46 | Supergoal
          非常基礎(chǔ),比較適合初學(xué)JavaScript的人。  回復(fù)  更多評(píng)論
            
          # re: JavaScript For Beginners(轉(zhuǎn)載)
          2006-11-06 16:52 | 小顏
          太棒了,謝謝  回復(fù)  更多評(píng)論
            
          # re: JavaScript For Beginners(轉(zhuǎn)載)
          2008-05-10 14:45 | 開(kāi)機(jī)
          謝謝了  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 承德县| 筠连县| 临猗县| 宣威市| 溧阳市| 英吉沙县| 福清市| 贞丰县| 兴城市| 清远市| 遵化市| 缙云县| 巫山县| 潼关县| 吉隆县| 麻江县| 来宾市| 石河子市| 华亭县| 江城| 吴桥县| 南投县| 达拉特旗| 陈巴尔虎旗| 延津县| 临汾市| 馆陶县| 开平市| 武城县| 阿荣旗| 罗江县| 奎屯市| 榆社县| 尤溪县| 青海省| 闽清县| 长乐市| 乐业县| 汤原县| 即墨市| 肇源县|