posts - 73,  comments - 55,  trackbacks - 0

          javascript編程起步(第一課)
          不管你以前學(xué)沒(méi)有學(xué)過(guò)javascript,本教程都能帶您進(jìn)入javascript的殿堂,領(lǐng)悟javascript的魅力。
          ? 大家來(lái)到這里,都是javascript的愛(ài)好者,對(duì)javascript都多多少少有一定的理解。關(guān)于javascript
          的歷史等就不做介紹了,我們直接來(lái)學(xué)習(xí)它,用它。
          ? 也許大部分人都認(rèn)為javascript是在客戶端運(yùn)行的,其實(shí)不然。javascript有兩種不同的運(yùn)行環(huán)境,
          一個(gè)是在服務(wù)器端的javascript,另一個(gè)就是客戶端的javascript了。還有就是javascript也是面向?qū)ο?br />的語(yǔ)言。
          ? 作為第一課,只是給大家一個(gè)簡(jiǎn)單的認(rèn)識(shí),東西不是太多。主要有以下三個(gè)方面:
          ? 1、在頁(yè)面添加javascript
          ? 2、javascript的數(shù)據(jù)類型
          ? 3、javascript最基本的三個(gè)對(duì)話框

          ? 關(guān)于怎么添加javascript,我想大家都知道,就是
          ? <script language="javascript">?? //這行是javascript腳本標(biāo)記,斜杠后面的就是注釋了
          ? document.write("在頁(yè)面顯示的javascript") //在頁(yè)面顯示一句話
          ? </script>
          ? /*這也是注釋,
          ??? 不過(guò)是多行的。
          ? */
          ? 我想這個(gè)今天就不細(xì)講了,留到下一課講,就當(dāng)是這課的作業(yè)吧,就是關(guān)于適應(yīng)各種環(huán)境的javascript
          的添加。如不支持javascript的瀏覽器,我們?cè)摷尤胄┦裁床拍懿蛔尀g覽器顯示javascript的源代碼等等。

          ? 第二個(gè)也就是今天講的最重要的一個(gè),就是javascript的數(shù)據(jù)類型,主要有以下幾個(gè)基本的類型。
          ? 字符串(string)
          ? 數(shù)字(number)
          ? 布爾值(boolean)
          ?
          ? 字符串就是由一連串的字符組成的序列。包括字母、數(shù)字以及標(biāo)點(diǎn)符號(hào)。當(dāng)然還可以是漢字等。簡(jiǎn)單一點(diǎn)
          就是表示文本信息。

          ? 數(shù)字又分為兩類:整型數(shù)字和浮點(diǎn)型數(shù)字。
          ? 整數(shù)包括正整數(shù),零和負(fù)整數(shù)。

          ? javascript中的數(shù)字可以使用十進(jìn)制、八進(jìn)制和十六進(jìn)制來(lái)書(shū)寫(xiě)。方法如下:
          ? 十進(jìn)制:15(直接寫(xiě)數(shù)字即可)
          ? 八進(jìn)制:017(要以零做為引導(dǎo)數(shù)字)
          ? 十六進(jìn)制:0xf(要以0x做為引導(dǎo)數(shù)字)

          ? 浮點(diǎn)型數(shù)字也叫實(shí)數(shù),為了方便,也可以使用科學(xué)記數(shù)法來(lái)表示:
          ? 1.13e1、1.5e3(等價(jià)于1.5乘10的3次方)
          ? javascript的數(shù)字范圍大約為10的負(fù)308次方到10的308次方之間。
          ? javascript中還有一個(gè)特殊的數(shù)字值NaN(not a number),javascript 用nan表示這個(gè)無(wú)意義的結(jié)果。

          ? 布爾值:true和false,在計(jì)算機(jī)中一般用1表示true,用0表示false。

          ? 空值就是null,即不表示任何東西。
          ? 未定義值undefined,有時(shí)等于null,有時(shí)可能是出了問(wèn)題。
          ? 特殊字符:也叫轉(zhuǎn)義字符。是一些以反斜杠開(kāi)頭的不可顯示的特殊控制字符。
          ? \b:表示退格
          ? \n:表示換行
          ? 等等。

          ? alert()方法的使用:
          ? <script language="javascript">
          ? alert("在頁(yè)面上顯示警告對(duì)話框");
          ? </script>
          ? alert()是javascript產(chǎn)生一個(gè)帶確認(rèn)按鈕的對(duì)話框,上面顯示括號(hào)內(nèi)的信息。

          ? confirm()方法的使用:
          ? <script language="javascript">
          ? confirm("在頁(yè)面上顯示確認(rèn)對(duì)話框");
          ? </script>
          ? confirm()和alert()差不多,不同的就是多了個(gè)取消按鈕。按確定返回true,按取消返回false。
          ? <script language="javascript">
          ? var con;
          ? con=confirm("你們喜歡這樣的教程嗎?");
          ? if (con==true) alert("喜歡");
          ? else alert("不喜歡");
          ? </script>

          ? prompt()方法的使用:
          ? <script language="javascript">
          ? var name,age;
          ? name=prompt("請(qǐng)問(wèn)您的名字?");
          ? alert(name);
          ? age=prompt("多大?");
          ? alert(age);
          ? </script>
          ? 它不但可以顯示信息,而且可以輸入信息。
          ----------------------------------------------------------------------------------------
          javascript編程起步(第二課)

          關(guān)于上課的作業(yè),大家都知道,代碼如下:
          ? <script language="javascript">
          ? <!--
          ? 代碼
          ? //-->
          ? </script>
          ? 這兒補(bǔ)充一點(diǎn)內(nèi)容,還可以告訴讀者這兒是javascript代碼,該瀏覽器不支持。
          ? <noscript>
          ? 在瀏覽器不支持的時(shí)候顯示這句話
          ? </noscript>
          ? 今天我們主要學(xué)習(xí)的內(nèi)容有以下幾塊:
          ? 1、javascript變量
          ? 2、javascript表達(dá)式和運(yùn)算符

          ? 可以用var加上為變量指定的名稱來(lái)聲明變量,變量類型可以通過(guò)給變量賦值來(lái)確定。由于javascript采用的是弱類型的樣式,對(duì)數(shù)據(jù)類型要

          求不太嚴(yán)格,在程序執(zhí)行的過(guò)程中,會(huì)根據(jù)需要自動(dòng)轉(zhuǎn)換。
          ? 對(duì)于字符串變量,可以通過(guò)“變量名.length”來(lái)獲得該變量中字符串的長(zhǎng)度,如
          ? var name;
          ? name="javascript";
          ? 那么name.length的值就是10。

          ? 若在一行中創(chuàng)建多個(gè)變量時(shí),記住用逗號(hào)來(lái)隔開(kāi)變量名。各語(yǔ)句用分號(hào)隔開(kāi)。(使用分號(hào)是個(gè)好習(xí)慣, 大家在學(xué)習(xí)的時(shí)候盡量養(yǎng)成加分號(hào)的習(xí)

          慣)
          ?
          ? 類型轉(zhuǎn)換:javascript允許在程序中改變變量的類型,最常見(jiàn)的兩個(gè)類型轉(zhuǎn)換符Number和String。
          ? Number(x)是字符型值——〉數(shù)字值型。String與之相反。相對(duì)于javascript的自動(dòng)類型轉(zhuǎn)換,可以將這種轉(zhuǎn)換成為強(qiáng)制類型轉(zhuǎn)換。(強(qiáng)制類

          型轉(zhuǎn)換需要在javascript1.2及以上版本才可以使用)

          ? 變量的命名:

          ? 1.必須以字母或下劃線開(kāi)頭,中間可以有字母數(shù)字和或下劃線。不能使用空格、+、-等其他符號(hào)。
          ??? 作為連字符外,變量名稱不能有空格、(+)、(-)、(,)或其它符號(hào)。
          ? 2.不能使用JavaScript中的關(guān)鍵字作為變量。
          ? (javascript變量名是區(qū)分大小寫(xiě)的,name和Name是不一樣的。)

          ? 對(duì)于變量還有一個(gè)重要性──那就是變量的作用域。在JavaScript中同樣有全局變量和局部變量。全局變量是定義在所有函數(shù)體之外,其作

          用范圍是整個(gè)函數(shù);而局部變量是定義在函數(shù)體之內(nèi),只對(duì)其該函數(shù)是可見(jiàn)的,而對(duì)其它函數(shù)則是不可見(jiàn)的。

          ? 例子:
          <script>
          var myStr = "我是全局變量";
          function getStr1(){
          ???? var myStr = "我是局部變量";
          ???? alert (myStr);
          }
          function getStr2(){
          ???? alert (myStr);
          }
          getStr1();
          getStr2();
          // 測(cè)試會(huì)彈出兩個(gè)提示框,第一個(gè)提示“我是局部變量”,第二個(gè)提示“我是全局變量”
          </script>


          ? 表達(dá)式:在定義完變量后,就可以對(duì)它們進(jìn)行賦值、改變、計(jì)算等一系列操作,這一過(guò)程通常由表達(dá)式來(lái)完成,可以說(shuō)它是變量、常量、布

          爾及運(yùn)算符的集合,因此表達(dá)式可以分為算術(shù)表述式、字串表達(dá)式、賦值表達(dá)式以及布爾表達(dá)式等。
          ?

          ? 運(yùn)算符:

          ? 1.算術(shù)運(yùn)算符:+(加) 、-(減)、 *(乘)、 /(除)、 %(取模) -(取反)、
          ??????????? ++(遞加1)、--(遞減1)。
          ??????????? 例:11%2=1 ; 如果x=2?? ++x+4=7???? x+++4=6
          ????????? (++x是先執(zhí)行加1,x++是執(zhí)行完語(yǔ)句之后x在自加1
          例子:

          <script>
          var i=0, j=0;
          alert(i++ + " " + ++j + " " + i);
          // 輸出 “0 1 1”,可見(jiàn)i++是先輸出了i,然后進(jìn)行運(yùn)算,而++j是先對(duì)j進(jìn)行了自加運(yùn)算,然后輸出j的值
          </script>

          ? 2.比較運(yùn)算符:<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)
          ????????? (基本操作過(guò)程是,首先對(duì)它的操作數(shù)進(jìn)行比較,然后再返回一個(gè)true或False值。)
          ? 3.邏輯運(yùn)算符:!(取反)、&=(與之后賦值)、 &(邏輯與)、 |=(或之后賦值)、 |(邏輯或)、
          ??????????? ^=(異或之后賦值)、 ^(邏輯異或)、 ?:(三目操作符)、||(或)、&& (與)
          ??????????? ==(等于)、|=(不等于)。
          ? 4.字符串運(yùn)算符:只有+?? (”my“+”javascript“結(jié)果等于”my javascript“)
          ? 5.賦值運(yùn)算符:即=,將右邊的值賦給左邊的變量。
          ? 6.條件運(yùn)算符:(?:)
          ??????????? 例:status=(age>=18)?"adult":"child";如果大于18,則表達(dá)式的值為adult。
          ? 7.typeof()運(yùn)算符:用來(lái)返回變量或數(shù)據(jù)的類型。

          ?

          作業(yè):試試能不能做個(gè)最最最最簡(jiǎn)單的計(jì)算器?
          ??? (就是我可以輸入兩個(gè)數(shù)和一個(gè)運(yùn)算符號(hào),就得出計(jì)算結(jié)果。結(jié)合上一課的prompt())
          答案:
          <script language="javascript">
          function yunshuan(a,op,c)
          {
          try{
          ? eval("result=a"+op+"c");
          ? return result;
          }
          catch(e){
          ? alert("Some error occur");
          }
          }
          function main(){
          var a,b,c;
          a=parseInt(prompt("請(qǐng)輸入第一個(gè)數(shù)"));
          op=prompt("請(qǐng)輸入運(yùn)算符");
          c=parseInt(prompt("請(qǐng)輸入第二個(gè)數(shù)"));
          alert("the result is :" + yunshuan(a,op,c));
          }

          </script>
          -----------------------------------------------
          javascript編程起步(第三課)

          第三課終于和大家見(jiàn)面了, 大家要感謝 Actions 的辛勤勞動(dòng)啊, 好好利用論壇給大家提供的資源和教程, 希望大家一起學(xué)習(xí)提高 :D
          大家有什么意見(jiàn), 建議或者想法, 可以到本版的教程問(wèn)答區(qū) 或 站務(wù)管理版的 建議或意見(jiàn) 去發(fā)表, 我們會(huì)及時(shí)給您反饋 :)

          下面是今天的學(xué)習(xí)重點(diǎn):
          A.補(bǔ)充上課的變量?jī)?nèi)容
          B.if語(yǔ)句的基本語(yǔ)法
          C.window.com()基本用法

          A.變量
          1.變量的類型規(guī)則
          javascript是無(wú)類型的,他的變量可以放任何數(shù)據(jù)類型的值。
          2.變量的聲明
          在javascript程序中,在使用變量之前,必須先聲明它。變量是使用關(guān)鍵字var聲明的。而實(shí)際上,不一定要先聲明變量,在某些情況下,變量

          聲明是可選的。
          var i;
          var sum;
          也可以使用一個(gè)var關(guān)鍵字聲明多個(gè)變量;
          var i,sum;
          而且還可以將變量聲明和變量初始化綁定在一起:
          var message = 'hello';
          var i = 0,j=0,k=0;
          由var聲明的變量是永久的,因?yàn)楦鳛g覽器對(duì)是否可以刪除全局性的變量的態(tài)度是不同的,(都可以刪除局部變量)為了安全,最好假設(shè)全局變

          量不可刪除。
          可以使用var多次聲明同一個(gè)變量
          當(dāng)你給一個(gè)沒(méi)有聲明的變量賦值時(shí),js會(huì)自動(dòng)用哪個(gè)變量為你創(chuàng)建一個(gè)全局變量。
          如果你想在函數(shù)內(nèi)部創(chuàng)建一個(gè)局部變量。那就必須用var在函數(shù)內(nèi)部聲明。
          3.變量的作用域
          如果局部變量和全局變量重名,則局部變量?jī)?yōu)先。js沒(méi)有塊級(jí)作用域。函數(shù)中聲明的所有的變量,作用域是相同的。
          var x;//聲明一個(gè)未賦值的變量,他的值是undefined。
          alert(u); //使用未聲明的變量將引發(fā)錯(cuò)誤。
          u=3;//給一個(gè)未聲明的變量賦值將會(huì)創(chuàng)建該變量。
          4.原始類型和引用類型
          var a=3.14;//原始類型
          var b=a;//引用類型

          B.if語(yǔ)句

          if (條件)
          語(yǔ)句段1
          else
          語(yǔ)句段2

           功能:若表達(dá)式為true,則執(zhí)行語(yǔ)句段1;否則執(zhí)行語(yǔ)句段2。

           說(shuō)明:
          if -else 語(yǔ)句是JavaScript中最基本的控制語(yǔ)句,通過(guò)它可以改變語(yǔ)句的執(zhí)行順序。
          表達(dá)式中必須使用關(guān)系語(yǔ)句,來(lái)實(shí)現(xiàn)判斷,它是作為一個(gè)布爾值來(lái)估算的。
          它將零和非零的數(shù)分別轉(zhuǎn)化成false和true。
          若if后的語(yǔ)句有多行,則必須使用花括號(hào)將其括起來(lái)。

          例子
          if (age < 16 )
          ???? alert("小朋友");
          else
          ???? alert("成年人");
          end if

          if語(yǔ)句的嵌套
          if (布爾值) 語(yǔ)句1;
          else if (布爾值) 語(yǔ)句2;
          else if (布爾值) 語(yǔ)句3;
          else 語(yǔ)句4;
          在這種情況下,每一級(jí)的布爾表述式都會(huì)被計(jì)算,若為真,則執(zhí)行其相應(yīng)的語(yǔ)句,否則執(zhí)行else后的語(yǔ)句。

          C.window.com()的用法
          ? 1、基本語(yǔ)法
          ? window.open(pageURL,name,parameters)
          ? 其中:
          ??? pageURL 為子窗口路徑
          ??? name 為子窗口句柄
          ??? parameters 為窗口參數(shù)(各參數(shù)用逗號(hào)分隔)
          ? 例:
          ????? <SCRIPT LANGUAGE="javascript">
          ????? <!--
          ????? window.open ('url') //url為一網(wǎng)址,如:http://www.numb1.com(絕對(duì)) 或 index.htm相對(duì))
          ????? -->
          ????? </SCRIPT>
          ? 2. 窗口參數(shù)
          ? 其中yes/no也可使用1/0;value為具體的數(shù)值,單位象素。
          ? toolbar=yes,no 是否顯示工具條
          ? location=yes,no 是否顯示網(wǎng)址欄
          ? directories=yes,no 是否顯示導(dǎo)航條
          ? status=yes,no 是否顯示狀態(tài)條
          ? menubar=yes,no 是否顯示菜單
          ? scrollbars=yes,no 是否顯示滾動(dòng)條
          ? resizable=yes,no 是否可以改變公告窗口大小
          ? copyhistory=yes,no 是否顯示歷史按鈕
          ? width=value 公告窗口的寬
          ? height=value 公告窗口的高
          ? left=value 公告窗口的左上頂點(diǎn)距屏幕左邊100像素
          ? top=value 公告窗口的左上頂點(diǎn)距屏幕頂端100像素
          ? 例:
          <script language="javascript">
          <!--
          window.open("

          "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=500,height=500,le

          ft=100,top=100")
          //-->
          </script>
          ----------------------------------------------------
          javascript編程起步(第四課)

          前一段有人給我說(shuō),第二課就看不明白了,我不知道是不是寫(xiě)的太籠統(tǒng)了,不夠細(xì)致,還是其他的,有什么問(wèn)題,大家給提出來(lái),當(dāng)然我也不

          是什么js高手,只不過(guò)想把愛(ài)好者領(lǐng)進(jìn)門(mén)而已。希望大家多多參與。
          今天的主要任務(wù)就是for循環(huán)。另外就是數(shù)據(jù)類型。既f(wàn)or in(現(xiàn)在還沒(méi)有講數(shù)組和對(duì)象,先了解一下)。

          數(shù)據(jù)類型的轉(zhuǎn)換:
          如果運(yùn)算的數(shù)據(jù)類型不是一樣的話,js腳本會(huì)盡力執(zhí)行內(nèi)部轉(zhuǎn)換來(lái)解決,但js不了解你的心思。所以得到的結(jié)果可能和你想要的不一樣。
          em:
          ? 3+3?? // result=6
          ? 3+"3"?? // result="33"

          將字符串轉(zhuǎn)換為數(shù)值:
          javascript語(yǔ)言提供兩個(gè)內(nèi)置函數(shù)將表示數(shù)值的字符串轉(zhuǎn)換為真實(shí)的數(shù)值:parseInt()和parseFloat()。
          為了使用這些函數(shù),需要將進(jìn)行轉(zhuǎn)換的字符串作為參數(shù)傳入函數(shù),例:
          parseInt("42")???? //result=42
          parseInt("42.33")?? //result=42
          不過(guò)是浮點(diǎn)數(shù)還是整數(shù),函數(shù)返回的值都是整數(shù)。不存在四舍五入,小數(shù)點(diǎn)和它后面的數(shù)字將被舍棄。
          而parseFloat()則返回浮點(diǎn)數(shù)(如果是整數(shù)就返回整數(shù)),例:
          parseFloat("42")?? //result=42
          parseFloat("42.33") //result=42.33
          如果在某處需要進(jìn)行字符串的轉(zhuǎn)換,只需將函數(shù)插入該初即可。如:
          3+3+parseInt("3")?? //result=9

          將數(shù)值轉(zhuǎn)換為字符串:
          雖然當(dāng)遇到表達(dá)式中含有混合數(shù)據(jù)類型時(shí),js會(huì)傾向于字符串。但為了防止?jié)撛诘膯?wèn)題發(fā)生,最好先轉(zhuǎn)換以下。在數(shù)值中加入空字符串就可以

          把數(shù)值轉(zhuǎn)換為字符串了:
          (""+2500)???????? //result="2500"
          (""+2500).length?? //result=4


          for:
          javascript中最常用的循環(huán)結(jié)構(gòu)稱之為for循環(huán),關(guān)鍵詞放在循環(huán)結(jié)構(gòu)的開(kāi)始位置。正式語(yǔ)法結(jié)構(gòu)如下:
          for ([initial expression];[condition];[update expression]){
          ? statement[s] inside loop
          }
          例:
          for(var i=0;i<9;i++)
          {
          n+=i
          myfunc(n)
          }
          for...in:
          這個(gè)語(yǔ)句完全依照變量var所設(shè)定的值決定運(yùn)行次數(shù)。你可以用for...in語(yǔ)句在一個(gè)對(duì)象或一個(gè)數(shù)組上建立循環(huán)
          for(var in [obj | array])
          {
          statements
          }
          例:
          <script language="javascript">
          document.writeln("The properties of the document object")
          for(var element in document){
          document.writein(element+"="+document[element])
          }
          </script>

          ----------------------------------------------------
          javascript編程起步(第五課)


          鼠標(biāo)事件(上)

          ? 隨著課程的進(jìn)行,能跟著下來(lái)的人是越來(lái)越少了,不知道是不是因?yàn)闆](méi)有太多的表現(xiàn),只是死記的東西,大家都沒(méi)有興趣啊。其實(shí)網(wǎng)頁(yè)上

          的很多特效,動(dòng)作大都是用javascript來(lái)實(shí)現(xiàn)的,沒(méi)有javascript的網(wǎng)頁(yè),就象一個(gè)人沒(méi)有了肌肉一樣。但是所有的動(dòng)作都是有函數(shù)來(lái)控制的

          ,而控制語(yǔ)句是基礎(chǔ)中的基礎(chǔ)。希望大家能耐心的學(xué)下去。今天的課程就輕松一下,學(xué)習(xí)點(diǎn)能見(jiàn)到效果的。
          主要內(nèi)容就是基于鼠標(biāo)的事件,有如下幾種:
          1.mouseover(鼠標(biāo)移至)
          2.mouseout(鼠標(biāo)移出)
          3.mousemove(鼠標(biāo)移動(dòng))
          4.mousedown(鼠標(biāo)按下)
          5.mouseup(鼠標(biāo)彈起)
          6.click(單擊)
          7.dblclick(雙擊)

          ? 通常1和2組合起來(lái)使用,當(dāng)用戶把鼠標(biāo)移動(dòng)到一個(gè)超鏈接或者其他元素時(shí),mouseover事件就會(huì)發(fā)生,mouseout總會(huì)伴隨著它,因?yàn)楫?dāng)鼠標(biāo)

          離開(kāi)時(shí),mouseout事件就會(huì)發(fā)生。
          ? 例子:
          <html>
          <head>
          <title>test</title>
          <script language="javascript">
          function text_onmouseover(){
          mytext.style.fontSize="30pt";
          mytext.style.color="red";
          mytext.style.fontStyle="italic";
          }
          function text_onmouseout(){
          mytext.style.fontSize="20pt";
          mytext.style.color="blue";
          mytext.style.fontStyle="normal";
          }
          </script>
          </head>
          <body>
          <p id=mytext onmouseover="text_onmouseover()" onmouseout="text_onmouseout()">http://www.javascript.com.cn</p>
          <p>看看字體樣式有什么變化</p>
          </body>
          </html>

          ? 這里定義了兩個(gè)函數(shù),來(lái)使字體改變樣式。關(guān)于函數(shù)我們以后會(huì)詳細(xì)的講解。
          (注意:ie對(duì)頁(yè)面上的所有元素都支持mouseover和mouseout事件,但對(duì)于netscape navigator來(lái)說(shuō),只有超鏈接和層支持這兩個(gè)事件。)

          下面看鼠標(biāo)移動(dòng)的例子:
          <html>
          <body onMousemove="micro$oftMouseMove()">
          <SCRIPT LANGUAGE="JavaScript">
          if (navigator.appName == 'Netscape')
          {
          document.captureEvents(Event.MOUSEMOVE);
          document.onmousemove = netscapeMouseMove;
          }

          function netscapeMouseMove(e) {
          if (e.screenX != document.test.x.value || e.screenY != document.test.y.value)
          {
          document.test.x.value = e.screenX;
          document.test.y.value = e.screenY;
          }
          }

          function micro$oftMouseMove() {
          if (window.event.x != document.test.x.value || window.event.y != document.test.y.value)
          {
          document.test.x.value = window.event.x;
          document.test.y.value = window.event.y;
          }
          }
          </SCRIPT>
          <FORM NAME="test">
          X: <INPUT TYPE="TEXT" NAME="x" SIZE="4"> Y: <INPUT
          TYPUE="TEXT" NAME="y" SIZE="4">
          </FORM>
          </body>
          </html>
          鼠標(biāo)移動(dòng)的事件在鼠標(biāo)跟隨效果的使用上比較多,大家可以看看鼠標(biāo)跟隨特效。網(wǎng)上n多。
          (需要注意的是:?jiǎn)?dòng)這個(gè)事件處理過(guò)程存在一個(gè)問(wèn)題,就是它有可能會(huì)屏蔽其他事件。另外還增加了頁(yè)面的處理時(shí)間,應(yīng)盡量少用。)

          先說(shuō)到這兒吧,下節(jié)講鼠標(biāo)的另外4個(gè)事件。


          今天的作業(yè)是:
          1.圖片鏈接的轉(zhuǎn)換(當(dāng)鼠標(biāo)放上去時(shí)是一個(gè)圖片,當(dāng)鼠標(biāo)離開(kāi)時(shí)是另外一個(gè)圖片)
          2.圖片跟隨鼠標(biāo)(當(dāng)鼠標(biāo)移動(dòng)時(shí),會(huì)有個(gè)圖片跟隨著鼠標(biāo)一起移動(dòng))
          1題答案:
          <html>
          <body>
          <script language="javascript">
          ?? function change()
          ?? {
          ?????? //document.test.tupian.src="1.bmp";用test和form[0]都可以
          ??? document.form[0].tupian.src="1.bmp";
          ?? }
          ?? function changeback()
          ?? {
          ?????? //document.test.tupian.src="2.bmp";
          ??? document.form[0].tupian.src="1.bmp";
          ?? }
          </script>
          <form name="test">
          <a name="aa" href="

          src="3.jpg"/></a>
          </form>
          </body>
          </html>
          ---------------------------------------------------------------------------------------------------
          javascript編程起步(第六課)

          mouseDown事件和mouseUp事件
          ?

          大家知道,mouseDown事件和mouseUp事件的組合就是click事件,但是如果在鏈接上按下鼠標(biāo),并移到鏈接之外在放開(kāi)鼠標(biāo),那么就只有mouseD

          own事件了。這兩個(gè)事件可以增加圖標(biāo)按鈕的圖像效果,
          ? 至于mouseDown和mouseUp的屬性,它們是伴隨著Click事件發(fā)生的,這和keyPress事件是keyDown事件和keyUp事件組合而成的機(jī)制是一樣的

          ,這3個(gè)鼠標(biāo)事件也有modifier屬性。
          ? (注意:如果在onClick事件處理中使用return語(yǔ)句,它可以接收任何數(shù)值。只要這個(gè)值不是False,瀏覽器就可以完成提交。但如果瀏覽

          器得到的是False值,表單提交操作就會(huì)被取消。)

          Click事件和dbClick事件
          ? onClick是單擊事件,onDblClick是雙擊事件,而實(shí)際上很難分清連續(xù)的單擊和雙擊。它們會(huì)互相干擾。而且在ie和其他瀏覽器的情況還有

          不同。有的瀏覽器是雙擊事件的每一次單擊都會(huì)觸發(fā)單擊事件,而在ie中,只有雙擊事件的第一次單擊會(huì)觸發(fā)單擊事件。不管怎么樣,單擊事

          件都不會(huì)自動(dòng)的取消或被忽略。因此,如果想使用單擊和雙擊一個(gè)鏈接時(shí)觸發(fā)兩個(gè)完全不同的過(guò)程,則必須通過(guò)編程來(lái)延遲單擊的動(dòng)作知道雙

          擊。

          例:
          <script>
          var timer=null;
          document.onclick=new Function("timer=setTimeout(click,500)")
          document.ondblclick=new Function("clearTimeout(timer);dblclick()")
          function click(){
          alert("click")
          }
          function dblclick(){
          alert("dblclick")
          }
          </script>

          解釋:
          new Function("timer=setTimeout(click,500)")
          新建一個(gè)函數(shù),內(nèi)容為
          timer=setTimeout(click,500)
          setTimeout(函數(shù)或語(yǔ)句,時(shí)間以毫秒為單位)
          用于設(shè)置某函數(shù)或語(yǔ)句在某時(shí)間后執(zhí)行,……
          clearTimeout(timer);
          清除設(shè)置,

          ? 在高版本的瀏覽器中,鏈接的這兩種事件處理程序都監(jiān)視那些使得腳本阻止鏈接的特殊行為。
          ? 例如:在想要的導(dǎo)航到另一個(gè)頁(yè)面之前進(jìn)行某些數(shù)據(jù)項(xiàng)的確認(rèn),如果某些域填得不正確,可以提醒并終止鏈接。要實(shí)現(xiàn)這種確認(rèn),必須在

          事件處理程序得最后一條語(yǔ)句或者事件處理程序自身返回True或False。如果返回False就終止鏈接。
          ------------------------------------------------------
          javascript編程起步(第七課)

          過(guò)年到現(xiàn)在一直都比較忙,辜負(fù)大家了.
          今天就學(xué)習(xí)函數(shù)吧,雖然語(yǔ)句還沒(méi)有說(shuō)完.

          函數(shù)是javascript語(yǔ)言的一個(gè)很重要的內(nèi)容,但也很復(fù)雜.
          下面來(lái)看看javascript函數(shù).
          函數(shù)是有function加函數(shù)名和一對(duì)帶有參數(shù)括號(hào),以及大括號(hào)組成的,其中大括號(hào)里是
          主體javascript語(yǔ)句.
          例:
          function hanshuname(js) //hanshuname是函數(shù)名.
          {
          document.write(js,"<br>"); //是函數(shù)的主體語(yǔ)句.
          }
          函數(shù)可以嵌套,如下:
          function qiantao(a,b){
          function lqiantao(x){return x*x;}
          return Math.sqrt(lqiantao(a)+lqiantao(b));
          }
          函數(shù)還可以作為數(shù)據(jù)來(lái)應(yīng)用,因此可以象處理其他數(shù)據(jù)那樣來(lái)處理函數(shù),如:賦值,存儲(chǔ),傳遞等.
          例:
          function zhi(x){return x*x;}
          實(shí)際上,函數(shù)名沒(méi)有什么意義,不過(guò)是保存函數(shù)的變量名而已.
          a=zhi(6);//a存放的是數(shù)字36;
          b=zhi;//現(xiàn)在b和zhi引用同一個(gè)函數(shù).
          c=b(5);//c存放的是數(shù)字25.
          在一個(gè)函數(shù)體內(nèi),標(biāo)識(shí)符arguments總是具有特殊含義,它是調(diào)用對(duì)象的一個(gè)特殊屬性,用來(lái)引用實(shí)際參數(shù)對(duì)象.這個(gè)實(shí)際參數(shù)對(duì)象具有大量有用的

          屬性.除此之外,它還兼有數(shù)組的角色.
          盡管定義javascript函數(shù)時(shí)都有固定的參數(shù),但調(diào)用這個(gè)函數(shù)時(shí),傳遞給它的參數(shù)數(shù)目卻可以是任意的,數(shù)組arguments[]允許完全存取那些實(shí)

          際參數(shù)值.另外,arguments有一個(gè)length屬性,看如下例子:
          function zhi(x,y,z)
          {
          if(arguments.length !=3){
          alert("function zhi called with"+arguments.length+"arguments,but it expects 3 arguments.");
          return null;
          }
          }
          數(shù)組arguments[]還為javascript函數(shù)開(kāi)發(fā)了一項(xiàng)重要的可能性,既可以將函數(shù)編寫(xiě)為能夠接受任意數(shù)目的實(shí)際參數(shù).
          function zhi()
          {
          var m=Number.NEGATIVE_INFINITY;
          //遍歷所有參數(shù)
          //檢索并記憶最大的一個(gè).
          for(var i=0;i<arguments.length;i++)
          if(arguments>m)m=arguments;
          //返回最大的參數(shù)值.
          return m;
          }
          var lazgest=zhi(1,10,100,2,3,1000,4,5,10000,6);
          也可以使用arguments[]數(shù)組來(lái)編寫(xiě)一個(gè)函數(shù).


          調(diào)用js函數(shù)
          <a href=”#” onClick=”functionName()”>Link text</a>
          <a href=”javascript:functionName()”>Link text</a>
          今天先說(shuō)到這兒吧,下節(jié)繼續(xù)說(shuō)函數(shù).
          ?


          FeedBack:
          # re: javascript編程起步(一至七課)
          2007-05-12 14:12 | 葉子飛
          你好!你能不能告訴我javascript編程的基本思想是什么?
          我明天就來(lái)看了.也就是5月13號(hào)哦!多謝了啊!  回復(fù)  更多評(píng)論
            
          # re: javascript編程起步(一至七課)
          2007-05-14 10:31 | 保爾任
          @葉子飛
          基本思想,這個(gè)以前到?jīng)]想過(guò)。其實(shí)js本來(lái)可以用來(lái)作各種編程的,包括前臺(tái)后臺(tái)等,不過(guò)它在頁(yè)面作動(dòng)態(tài)網(wǎng)頁(yè)用起來(lái)很方便,而且還有dom對(duì)象的支持,而其他方面支持也少,漸漸退化,就變成現(xiàn)在這樣的頁(yè)面腳本語(yǔ)言了。個(gè)人感覺(jué)現(xiàn)在js主要用于操作dom對(duì)象和ajax應(yīng)用了,不過(guò)還是挺火的。好像還是沒(méi)回答基本思想阿,呵呵,我用的很簡(jiǎn)單,總結(jié)起來(lái)就是定義方法,然后調(diào)用:)  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 东源县| 电白县| 衡水市| 大同市| 金华市| 绿春县| 沙湾县| 大余县| 繁昌县| 武宁县| 淮北市| 安新县| 称多县| 芮城县| 永胜县| 横峰县| 新建县| 灵台县| 揭东县| 栾城县| 固原市| 茌平县| 诏安县| 潼关县| 乳山市| 曲靖市| 大庆市| 桂东县| 包头市| 静安区| 西贡区| 朝阳县| 阜南县| 金沙县| 峨山| 库伦旗| 秦皇岛市| 延寿县| 青岛市| 彰武县| 皋兰县|