javascript基礎

獲取元素

document.get Element By Id()

文檔 獲取 元素 通過

document.getElementById("box").style.background = "blue";
//就通過獲取文檔中的ID,來改變背景顏色

cssText

  • cssText 獲取style中所有內容

    • 直接修改cssText會覆蓋晌区,style中的所有內容隐砸,如果不想覆蓋之前的所有內容髓堪,可以直接寫 style姜凄,或者用 +=

      box.style.cssText += "width: 400px"; //修改其中的一個樣式
      box.style.cssText = ""; //清空所有行間樣式
      

      ?

  • cssText = "" 可以直接清空所有的行間樣式

元素改變的是行間的樣式

innerHTML

  • innerHTML 元素的內容
  • 從元素的開標簽到閉合標簽之間的所有內容,包括元素中包含的子元素
  • 直接設置元素的innerHTML烛亦,或替換掉之前的所有內容,如果不想替換只是添加內容用 +=

+號運算符

  • 加法運算

  • 鏈接兩個字符串(包在引號中的一串字符杈湾,叫做字符串)

  • += (a += b --- a = a + b)

    cosole.log(1 + 1); //2個數(shù)字相加膝迎,結果是2;
    cosole.log("1" + "1"); //2個字符串鏈接灰蛙,結果是11祟剔;
    

    加號有兩個作用,一個是加法運算摩梧,一個是字符串連接,只有加號左右兩側是數(shù)字的情況才會執(zhí)行加法運算,如果有一次是字符串就會執(zhí)行字符串連接物延,連接的結果也是字符串

    字符串寫法
    var deg = 0;
    var tX = 0;
    //transform: rotate(0deg) translateX(0px);
    transform = "rotate(" + deg + "deg) translateX(" + tX + "px)";
    
    

    ?


函數(shù)

  • 函數(shù)聲明

function name(){

? 要執(zhí)行的內容;

}

name();

  • 有名字的函數(shù)
var left = 0;
var t = 100;
function running(){
    left += 100;
    t += 100;
    box.style.left = left + "px";
    box.style.top = t + "px";
}
running();
//在寫left仅父,width等樣式時叛薯,一定注意加單位
  • 匿名函數(shù)
function(){
    left += 100;
    top += 100;
    box.style.left = left + "px";
    box.style.top = top + "px";
}
//暫時匿名函數(shù)不能直接使用,只能使用在事件中
  • 函數(shù)調用

    事件調用:不加括號

    非事件調用:添加括號

    什么時候加括號笙纤,什么時候不加括號:

    1. 當瀏覽器讀到這行代碼的時候耗溜,就執(zhí)行需要給函數(shù)調用加();
    2. 當某種特定的條件下才執(zhí)行,不需要加();

    window.onload

    window.onload 整個頁面加載完整

    onload事件 加載完整

    用來當頁面加載完成后省容,運行js抖拴。

    window.onload = function(){
      //要運行的js代碼
    }
    

    document.querySelector('Css Selector');

    接收一個css選擇器(通配,群組腥椒,包含城舞,id,類……等等)

    如果這個選擇器對應的是一組元素寞酿,就只找第0個

    var box = document.querySelector('.box');
    //如果下面有很多個.box的class家夺,那就只對應第0個
    

    js下是從0 開始計算

使用class來改變樣式

先給一個class設置好需要改變的樣式

.hover {
  display: block;
}

再通過給需要改變的元素添加class來改變樣式

<script type="text/javascript">
window.onload = function(){
    var wrap = document.querySelector('.wrap');
    var ul = document.querySelector('ul');
    wrap.onmouseover = function(){
        ul.className = "hover";
    };
    wrap.onmouseout = function(){
        ul.className = "";
    };
};
</script>

if判斷

  • 邏輯運算符

    == 相等;伐弹!=不等拉馋;>= 大于等于 ;<=小于等于惨好;>大于煌茴;<小于;

  • if(判斷條件){

    ? 條件成立要執(zhí)行的內容

    } else {

    ? 條件不成立要執(zhí)行的內容

    }

  • 布爾值 (true/false)

    var a = 10;
      var b = 10;
      if(a != b){
          alert("正確");
      } else {
          alert("不正確");
      }    
      /*
          if(布爾值true或false){
              為true時要執(zhí)行的語句
          } else {
              為false時要執(zhí)行的語句
          }
      */
    
    

    一種操作下日川,會有兩種或以上的執(zhí)行結果蔓腐,記得用判斷

    開關

    <script type="text/javascript">
    window.onload = function() {
      var btn = document.querySelector('#btn');
      var is = true; /*  默認是true*/
      btn.onclick = function(){
          if(is == true) {
              alert("正確");    
              is = false; /* 為true的時候,就改成false龄句,下次就會走else */
          } else {
              alert("錯誤");
              is = true; /* 為false的時候回论,就改成true散罕,下次就會走if */
          }    
      };
    };
    </script>
    
    

    取反

    <script type="text/javascript">
    window.onload = function() {
      var btn = document.querySelector('#btn');
      var is = true; /*  默認是true*/
      btn.onclick = function(){
          if(is) {
              alert("正確");    
          } else {
              alert("錯誤");
          }    
          is = !is;
          // ! 取反 true 變成false false變成true
      };
    };
    </script>
    
    

    布爾值的前綴一般為is

    ?

if的四種寫法

  • 第一種

    <script type="text/javascript">
    var a = 0;
    var b = 1;
    if(a + b < 0) {
      alert(true);
    } else {
      alert(false);
    }
    </script>
    
  • 第二種

    <script type="text/javascript">
    var a = 0;
    var b = 1;
    // 成立做某件事,不成立啥都不做
    if(a + b < 0) {
      alert(true);
    }
    </script>
    
    
  • 第三種

    <script type="text/javascript">
    var a = 0;
    var b = 1;
    if(a + b == 0) { //條件成就執(zhí)行里邊的內容傀蓉,下邊 else if 就不會在執(zhí)行
      alert(0);
    } else if(a + b == 1) {//上邊的條件不成立欧漱,就查看本條,條件成就執(zhí)行里邊的內容葬燎,下邊的內容不執(zhí)行
      alert(1);
    } else if(a + b == 2) {
      alert(2);
    }
    </script>
    
    
  • 第四種

    <script type="text/javascript">
    var a = 0;
    var b = 10;
    /*
    if(a + b == 0) { //條件成就執(zhí)行里邊的內容误甚,下邊 else if 就不會在執(zhí)行
      alert(0);
    } else if(a + b == 1) {//上邊的條件不成立,就查看本條谱净,條件成就執(zhí)行里邊的內容窑邦,下邊的內容不執(zhí)行
      alert(1);
    } else if(a + b == 2) {
      alert(2);
    } else {
      //都不成立
    }
    
    </script>
    
    

    可以獲取到一組元素的幾種選擇方式

    <script type="text/javascript">
    window.onload = function(){
      var list = document.querySelector('.list');
      var li = list.getElementsByClassName("li");
      /*
          父級.getElementsByTagName("標簽名");
          獲取元素下的某個類型的標簽
          獲取的結果是  一組元素(元素集合)
    
          父級.getElementsByClassName("class名");
          獲取元素下的某個類型的class
          獲取的結果是  一組元素(元素集合)
          
          父級.querySelectorAll('css 選擇器'); 
          獲取元素下的某個類型的元素
          獲取的結果是  一組元素(元素集合)
       */
      console.log(li);
    };
    </script>
    
    

    1.一組元素不能在js直接操作

    2.一組元素哪怕只有1個,他也是一組元素

    3.一組元素在操作的時候壕探,可以使用下標

    4.如果需要知道這組元素有幾個冈钦,可以使用 length屬性

    window.onload = function(){
    var list = document.querySelector('.list');
    var li = list.getElementsByTagName("li");
    //console.log(li);
    li[0].style.background = "red";
    alert(li.length);
    };
    </script>
    
    

    循環(huán)

    循環(huán)的樣式

    <script type="text/javascript">
    for(var i = 0; i < 5; i++) {
      alert(i);
    } 
    </script>
    
    

    循環(huán)執(zhí)行過程

    var i = 0;是初始值 (1) i < 5;是判斷條件(2) i++ ;自增(3) alert(i);執(zhí)行語句(4)

    初始值往下走浩蓉;

    判斷條件是否成立派继;

    成立后執(zhí)行語句宾袜;

    返回來自增捻艳;

    再進行判斷條件是否成立;

    一直進行到判斷條件不成立庆猫;

    ?

    this

    在事件函數(shù)中认轨,this代表觸發(fā)當前事件的元素

    例如

    <script type="text/javascript">
    window.onload = function(){
      var li = ul.querySelectorAll('li');
      for(var i = 0; i < li.length; i++) {
          li[i].onclick = function(){
              console.log(this);
              // 在事件函數(shù)中,this代表觸發(fā)當前事件的元素
          };
      }
    };
    </script>
    

//console.log中的this 顯示當前l(fā)i的所有元素<li>innerHTML</li>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末月培,一起剝皮案震驚了整個濱河市嘁字,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌杉畜,老刑警劉巖纪蜒,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異此叠,居然都是意外死亡纯续,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門灭袁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猬错,“玉大人,你說我怎么就攤上這事茸歧【氤矗” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵软瞎,是天一觀的道長逢唤。 經常有香客問我拉讯,道長,這世上最難降的妖魔是什么智玻? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任遂唧,我火速辦了婚禮,結果婚禮上吊奢,老公的妹妹穿的比我還像新娘盖彭。我一直安慰自己,他們只是感情好页滚,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布召边。 她就那樣靜靜地躺著,像睡著了一般裹驰。 火紅的嫁衣襯著肌膚如雪隧熙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天幻林,我揣著相機與錄音贞盯,去河邊找鬼。 笑死沪饺,一個胖子當著我的面吹牛躏敢,可吹牛的內容都是我干的。 我是一名探鬼主播整葡,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼件余,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了遭居?” 一聲冷哼從身側響起啼器,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎俱萍,沒想到半個月后端壳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡枪蘑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年损谦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腥寇。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡成翩,死狀恐怖,靈堂內的尸體忽然破棺而出赦役,到底是詐尸還是另有隱情麻敌,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布掂摔,位于F島的核電站术羔,受9級特大地震影響赢赊,放射性物質發(fā)生泄漏。R本人自食惡果不足惜级历,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一释移、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寥殖,春花似錦玩讳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至粤策,卻和暖如春樟澜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叮盘。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工秩贰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柔吼。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓毒费,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嚷堡。 傳聞我的和親對象是個殘疾皇子蝗罗,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內容