Dom學習筆記(一)

來源:互聯網
上載者:User

預備知識: Dom就是JS的一個應用平台,實際上就是C#->ASP.NET關係,Dom就是提供了JS的各種操作對象,就像C++只能編寫控制台的程式,但是在借用了Windows的Win32的架構之後就直接可以實現一個使用者介面的GUI啦,懂了Dom就是JS的一個應用平台就Ok了; 1.簡單的Dom編程實際上咱早已經實現過啦,就是alert('');函數的使用,還有是就是<body document.ondbclick="函數名()"> 實際上就是在執行ondbclick事件的時候執行的語句是調用一個函數的(這裡唯寫函數名是不對的,因為系統找不到該對象),代碼如下:<script language="javascript">function confirmDemo(){//confirm方法就是實現確定和取消的對話方塊  if(confirm("是否進入?")){   alert('進入啦');}else{  window.alert('退出啦');}}</script><input type="button" value="ConfirmDemo" onclick="confirmDemo"><!--這裡實際使用函數加不加括弧都行-->2.實際使用的alert('');就是使用window.alert方法,只不過是常用的對話方塊,就直接省略啦具體的方法如下:  navigate("http://www.baidu.com"); //j就是重新導航,將網站重新導向到新的網站,類似於<a href="www.baidu.com"> </a>  setInterval("alert('hello')",1000); //就是定時執行,實際相當於Timer的功能,其中需要兩個參數,一個是字串的代碼(可以是匿名函數),後面一個當然就是控制的時間  clearInterval(IntervalId);就是實現把定時器關閉,參數是要停止的ID(var ID = setInteral(... , .);  setTimeout("alert('setTimeout')",1000);//也是定時執行任務,但是不像  setInterval()的重複執行任務,只能執行一次,這其實很好區分Interval:間隔,Timeout:逾時  clearTimeout(); //也是實現清除計時,計時專門是清除setTimeout("",)的逾時具體的使用代碼:<script language="javascript">function confirmDemo(){  if(confirm("是否進入?"))  {   alert('進入拉');  } else  {   window.alert('退出啦');  }}var IntervalId;  //全域的變數,在全域內都可以訪問到function startInterval(fun_str){  //IntervalId = setInterval("alert('你好啊!')",3000);  IntervalId = setInterval(fun_str,500);}var TimeoutId;function startTimeout(){ TimeoutId = setTimeout("alert('你好啊!')",2000);}function startNavitage(){navigate("www.baidu.com");}function scroll_rigth(){  var title = document.title;   //這是擷取當前頁面的document對象的title  var first_str = title.charAt(title.length-1);  //該函數是擷取字串裡面的一個字元,參數是字元的位置  var left_str = title.substring(0,title.length-1);  //該函數是擷取字串裡面的一個子串,兩個參數分別是起始位置,長度document.title = first_str + left_str ;}function scroll_left(){  var title = document.title;  var first_str = title.charAt(0);  var left_str = title.substring(1,title.length);document.title = left_str + first_str;}</script><input type="button" value="ConfirmDemo" onclick = "confirmDemo()"><input type="button" value="startInterval" onclick = startInterval("alert('123')")><input type="button" value="clearInterval" onclick = "clearInterval(IntervalId)"><input type="button" value="startTimeout" onclick = "startTimeout()"><input type="button" value="clearTimeout" onclick ="clearTimeout(TimeoutId)"><input type="button" value="startNavitage" onclick ="startInterval('startNavitage()')"><input type="button" value="scroll_rigth" onclick ="startInterval('scroll_rigth()')"><input type="button" value="scroll_left" onclick ="startInterval('scroll_left()')"><title>新學期歡迎新同學</title>3.body、document對象的事件  網站上的網頁在瀏覽器端的顯示是在下載邊顯示的,這樣的一些方法的使用必須的在要操作的元素載入完成才能使用  onload 事件是在網頁的該元素載入完成之後再執行的事件,body onload才是全部載入  onunload 事件是在網頁將要關閉(前進、後退、關閉)的時候或要重新載入時發生的  onbeforeunload 事件是在網頁準備關閉的時候觸發,在事件中為window.event.returnValue賦值就會實現在無意間關閉頁面時產生的警告訊息  onload >onbeforeunload > onunload 是事件的執行順序  <script language="javascript">function scroll_left(){  var title = document.title;  var first_str = title.charAt(0);  var left_str = title.substring(1,title.length);document.title = left_str + first_str;}var IntervalId;  //全域的變數,在全域內都可以訪問到function startInterval(fun_str){  //IntervalId = setInterval("alert('你好啊!');",3000);  IntervalId = setInterval(fun_str,500);}</script><body onload ="btn.value = 'ok';" onunload = "alert('大爺要走啦!');" onbeforeunload="window.event.returnValue='你確定要撤退嗎?';alert('真撤啦');"> <!--寫在body裡面表示是整個頁面載入完成之後,寫在單個元素裡面的只是表示該元素載入完成,也可以把JS放在該元素載入之後--><input type="button" value="scroll_rigth" onclick ="startInterval('scroll_left()')"><input type="button" value="startInterval"  id = "btn"  onclick = "startInterval('scroll_left()')"></body><title>1234567890</title>  還有很多其他的HTML元素的事件:  onclick(單擊)、ondbclick(雙擊)、onkeydown(按鍵按下)、onkeypress(點擊按鍵)、onkeyup(按鍵釋放)、onmousedown(滑鼠按下)、onmousemove(滑鼠移動)、onmouseout(滑鼠離開元素範圍)、onmouseover(滑鼠移動到元素範圍)、onmouseup(滑鼠按鍵釋放)等,親,這你媽這莫多,以後用到的時候再查文檔吧  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.