day03 js基礎

來源:互聯網
上載者:User

標籤:參數   改變   ons   regex   分享   bsp   載入   結構   enc   


案例1-定時彈出廣告
需求:
開啟頁面後4秒,展示廣告,2秒之後,該廣告隱藏.再停2秒,繼續展示.
技術分析:

定時器(BOM-window對象)
  setInterval(code,毫秒數):周期執行
  setTimeout(code,毫秒數):延遲多長事件後 只執行一次.
清除定時器
  clearInterval(id)
  clearTimeout(id):

////////////////////////
1.html頁面,先把廣告隱藏
2.頁面載入成功事件 onload
3.編寫函數
定時器:
操作元素:
  document.getElementById("")
操作css屬性
  document.getElementById("id").style.屬性="值"
  屬性:就是css中屬性 css屬性有"-" 例如:backgroud-color
  若有"-" 只需要將"-"刪除,後面第一個字母變大寫即可
注意:
  只要是window對象的屬性和方法,可以把window省略
  window.onload 等價於 onload
  window.setInterval() 等價於 setInterval()
////////////////////
bom(瀏覽器物件模型)總結
所有的瀏覽器都有5個對象
window:視窗
location:定位資訊 (地址欄)
history:曆史
window對象詳解:
如果文檔包含架構(frame 或 iframe 標籤),瀏覽器會為 HTML 文檔建立一個 window 對象,
並為每個架構建立一個額外的 window 對象。
常用的屬性:
通過window可以擷取其他的四個對象
window.location 等價於 location
window.history 等價於 history
...
常用的方法
訊息框
  alert("...."):警告框
  confirm("你確定要刪除嗎?"):確定框 傳回值:boolean
  prompt("請輸入您的姓名"):輸入框 傳回值:你輸入的內容
定時器
  設定定時器
  清除定時器
開啟和關閉
  open(url):開啟
  close():關閉
/////////////////////////////////////////////////////////////
location:定位資訊
常用屬性:
href:擷取或者設定當前頁面的url(定位資訊)

location.href; 擷取url
location.href="...";設定url 相當於 a標籤
//////////////////////
history:曆史
back();後退
forward():向前
★go(int)
go(-1) 相當於 back()
go(1) 相當於 forward()
//////////////////////////////////////////////////////////////////////////
案例2-表單校正plus
需求:
提示資訊不用彈出框,將資訊追加在文字框後面
技術分析:
確定事件 表單提交的時候 onsubmit
文字框失去焦點的時候 onblur


步驟分析:
1.表單
2.表單提交的時候 確定事件 onsubmit()
3.校正使用者名稱和密碼
4.擷取使用者名稱和密碼的對象及值
5.判斷內容,當為空白的時候,擷取響應的span元素
往span元素中顯示錯誤資訊
////////////////////////////////////////////////////////////
注意:
在方法中(function()) this指代的是當前的元素(當前dom對象)
例如:
<input type="text" name="username" id="username" onblur="loseFocus(this.value)">
方法:
function loseFocus(obj){
alert(obj);
}
///////////////////////////////////////////////////////////////////////////////////////////////////
事件總結:
常見的事件:
  焦時間點事件:★   onfocus  onblur
  表單事件:★  onsubmit       表單使用  onchange 改變  下拉框使用
  頁面載入事件:★  onload
  滑鼠事件(掌握)  onclick
  滑鼠事件(瞭解)  ondblclick:雙擊 onmousedown:按下  onmouserup:彈起           onmousemove:移動  onmouserover:懸停  onmouserout:移出  鍵盤事件(理解)  onkeydown:按下  onkeyup:彈起  onkeypress:按住


瞭解
  阻止預設事件的發生  preventDefault
  阻止事件傳播     preventPropaganda
//////////////////////////////////////////////////////////////////////////////////////////////////////////
案例3-隔行換色
需求:
一個表格,隔一行換一個色
技術分析:
事件:onload
擷取元素:dom操作

擷取元素:
document.getElementsByTagName("標籤名"):通過標籤名擷取一種元素(多個)返回一個數組

步驟分析:
1.html表格一載入的時候 確定事件 onload
2.編寫函數
a.擷取元素(所有的tr元素)
b.操作(若當前行是偶數的話加一個樣式,若是奇數的話,加另一個樣式)
////////

//頁面載入成功onload=function(){    //1.擷取所有的tr    var arr=document.getElementsByTagName("tr");    //2.判斷奇偶數 添加不同的樣式 遍曆數組    for(var i=1;i<arr.length;i++){        if(i%2==0){            arr[i].style.backgroundColor="#FFFFCC";        }else{            arr[i].style.backgroundColor="#BCD68D";        }    }}                    
View Code


//////////////////////////
案例4:全選或者全不選
步驟分析:
1.確定事件 最上面那個複選框的單擊事件 onclick
2.編寫函數:讓所有的複選框和最上面的複選框狀態保持一致
a.擷取最上面這個複選框選中狀態 通過checkbox的checked屬性即可
b.擷取其他的複選框,設定他們的checked屬性即可
可以通過以下兩種方案擷取元素
document.getElementsByClassName():需要給下面所有的複選框添加class屬性
document.getElementsByName():需要給下面所有的複選框添加name//////////////////////////////////dom(文件物件模型)

當瀏覽器接受到html代碼的時候,瀏覽器會將所有的代碼裝載到記憶體中,形成一棵樹(document樹)
節點(Node)
文檔節點 document  元素節點 element  屬性節點 attribute  文本節點 text
擷取節點:
通過document可以擷取其他節點:
常用方法:
document.getElementById("id值"):擷取一個特定的元素
document.getElementsByTagName("標籤名"):通過標籤名擷取一種元素(多個)
document.getElementsByClassName("class屬性的值"):通過class屬性擷取一類元素(多個)
document.getElementsByName("name屬性的值"):通過name屬性擷取一類元素(多個)
設定擷取擷取節點的value屬性
dom對象.value;擷取
dom對象.value="";設定
設定或者擷取節點的標籤體
dom對象.innerHTML;擷取
dom對象.innerHTML="";設定
擷取或者設定style屬性
dom對象.style.屬性;擷取
dom對象.style.屬性="";設定
擷取或者設定屬性
dom對象.屬性

appendChild(dom對象):在一個元素下添加孩子
////////////////////////////////////////////////////////////////////////////////
案例5-左右選中.
需求:
技術分析:
1.確定事件,按鈕的單擊事件
2.編寫函數:
點擊移動單|多個的:
a.擷取左邊選中的選項 select對象. selectedOptions--數組
b.將其追加到右邊的下拉選中
rightSelect對象.appendChild(option);
點擊移動所有的
a.擷取左邊的所有的選項
b.一個個的追加過去
///////////////////////
案例6-省市聯動
需求:  選中省的時候,動態查詢當前省下的所有市,然後展示在市的下拉選中
new Array();//長度為0
new Array(size);//指定長度的
new Array(e1,e2..);//指定元素
非官方  var arr4=["aa","bb"];
注意:
  數組是可變的
  數組可以存放任意值
常用方法:(瞭解)
存放值:對內容的操作
  pop():彈最後一個
  push():插入 到最後

  shift():刪除第一個
  unshift():插入到首位
列印數組:
  join(分隔字元):將數組裡的元素按照指定的分隔字元列印
拼接數組:
  concat():串連兩個或更多的數組,並返回結果。
對結構的操作:
  sort();排序
  reverse();反轉

///////////////////////////////////////////////////////////////////////////////////////////////
參考型別總結:
原始類型中的String Number Boolean都是偽對象,可以調用相應的方法
Array:數組
String:
  new String(值|變數);//返回一個對象
  String(值|變數);//返回原始類型
常用方法:
  substring(start,end):[start,end)
  substr(start,size):從索引為指定的值開始向後截取幾個
  charAt(index):返回在指定位置的字元。
  indexOf(""):返回字串所在索引
  replace():替換
  split():切割
  常用屬性:length
Boolean:
  new Boolean(值|變數);
  Boolean(值|變數);
  非0數字 非Null 字元串 非Null 物件 轉成true
Number
  new Number(值|變數);
  Number(值|變數);
注意:

  null====>0
  fale====>0 true====>1
  字串的數字=====>對應的數字
  其他的NaN
Date:
  new Date();
  常用方法:
  toLocalString()
  RegExp:Regex
文法:
  直接量文法 /Regex/參數
  直接量文法 /Regex/
  new RegExp("Regex")
  new RegExp("Regex","參數")
參數:
  i:忽略大小寫
  g:全域
常用方法:
  test() :傳回值為boolean
Math:
  Math.常量|方法
  Math.PI
  Math.random() [0,1)
全域:
  decodeURI() 解碼某個編碼的 URI。
  encodeURI() 把字串編碼為 URI。

Number():強制轉換成數字
String():轉成字串

parseInt():嘗試轉換成整數
parseFloat():嘗試轉換成小數
eval() 計算 JavaScript 字串,並把它作為指令碼代碼來執行。 

day03 js基礎

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.