一、css和js

認(rèn)真!看清哪個函數(shù)哪個參數(shù)是否帶引號!不要忘了寫分號!

概覽

  • css
    選擇器
    布局
  • JavaScript
    語法
    對象和API
    BOM 瀏覽器對象模型
    DOM 文檔對象模式

1、css和HTML的四種結(jié)合方式

  • 第一種是最基本的,直接在html標(biāo)簽中用style定義。
  • 在head標(biāo)簽中定義一個style標(biāo)簽,在style中寫div{。。。}
  • 引入外部文件:@import url(“ ”)-->升級版:將所有外部css路徑放入新的css文件中(稱為管理文件),在html中引用該新的外部文件;好處:以后再添加css直接加在管理css文件中就可。
  • link。。。
    屬性必須寫到style內(nèi)部,因?yàn)閟tyle是css的解析器,放其他地方無法解析。

2、css優(yōu)先級和規(guī)范

3、CSS選擇器

基本選擇器+擴(kuò)展選擇器

  • 基本選擇器
    • 標(biāo)簽名選擇器
      div{ } 、span{ }
    • 類選擇器---標(biāo)簽中的class屬性名稱自己可以隨意定義。
      .class的名稱
    • ID選擇器
      格式:#id名稱---功能與類選擇器類似,一般給js語言使用。

ps:①標(biāo)簽名選擇器可和類選擇器搭配著用,如 div 。 haha{ }----僅div標(biāo)簽中的haha class起作用;
。haha h1{ } ---haha class下的h1標(biāo)簽起作用。
②優(yōu)先級:標(biāo)簽名選擇器<類選擇器<ID選擇器<style屬性

  • 擴(kuò)展選擇器



    偽元素選擇器:最基本的動態(tài)效果

  • 關(guān)聯(lián)選擇器
    div font{ } div標(biāo)簽下的font起作用。


  • 組合選擇器
    如: #haha,.hehe{ } 中間用逗號分隔,兩者效果相同,相當(dāng)于#haha{ } + .hehe{ }
  • 偽元素選擇器
    用于實(shí)現(xiàn)一些最基本的動態(tài)效果,html中已定義好,可以直接用。如
    • 輸入偽元素選擇器-input:FOCUS{ background-color:red}//當(dāng)把光標(biāo)點(diǎn)到該輸入框時,輸入框北京會變?yōu)榧t色。
    • 超鏈接偽元素選擇器 a,使用順序:LVHA-link、visited、hover、active
      a:link{text-decoration:noe;//無下劃線 color:blue;}
      a:hover{ color:red;font-size:25px;}鼠標(biāo)懸停時變紅且字體變?yōu)?5px。
      具體樣式可以自己設(shè)置。

4、css的布局:即用css+div進(jìn)行布局

div是塊級元素,每個div后都會跟一個換行;span則不會,多個span會在一個行。如:


  • 可以在id中定義float:left、right,表示某個div會浮動在左側(cè)或右側(cè)。
    如div1為float:left,則:
    ①div2會被漂浮的div1覆蓋
    ②僅當(dāng)div為float時,其中的文字才會跟著一起浮動,若是因其他div的浮動產(chǎn)生補(bǔ)位,文字會在原位置不動。
    ③若三個均為float:left,則會在第一排按順序出現(xiàn)。
  • 可給div指定絕對位置

JavaScript

1、JavaScript概述


弱類型:在內(nèi)存中聲明了一種類型后,還可以存放其它類型,如int a=10;a=“ss”;即弱類型。
JavaScript的組成:
ECAMScript 標(biāo)準(zhǔn)(js的語法,函數(shù),變量)
BOM
DOM

2、js和HTML結(jié)合的兩種方式

  • script標(biāo)簽,可以放在任意位置。
    <script type="text/javascript">...<script>
  • 引入外部js文件的方式。
    <script src="引入的js文件" type="text/javascript"></script>

ps:<script>標(biāo)簽可以放在任意位置,推薦放在body后。因有可能js文件中會引用其他標(biāo)簽的內(nèi)容,當(dāng)被引用的內(nèi)容在<script>之后時可能會出錯。

3、js語法


(1)

  • 關(guān)鍵字---var 聲明變量
  • 標(biāo)示符---和java一樣
  • 注釋--和java一樣
  • 變量---- 聲明變量,只使用一個關(guān)鍵字 var num = 12; var str = "abc";
  • 5種基本數(shù)據(jù)類型
    • Undefined、Null、Boolean、Number 和 String
    • String 字符串類型
    • js中雙引號和單引號都代表的是字符串
    • Number 數(shù)字類型- 【不區(qū)分整數(shù)和小數(shù)】
    • Boolean 布爾類型
    • Null 空,給引用賦值的
    • Undefined 未定義(聲明變量,沒有賦值)
  • typeof() 判斷當(dāng)前變量是什么類型的數(shù)據(jù)

(2)運(yùn)算符

  • 算術(shù)運(yùn)算符
    • 0或者null是false,非0或者非null是true,默認(rèn)用1表示。true和false可參加運(yùn)算。
      var num = 3710;
      alert(num/1000*1000);=3710 不區(qū)分整數(shù)和小數(shù)
  • 賦值運(yùn)算符: 和java是一樣的
  • 比較運(yùn)算符
    == 比較值是否相同
    === 比較值和類型是否相同
  • 邏輯運(yùn)算符-- 和java中一樣
  • 三元運(yùn)算符-----條件?值1:值2

(3)語句
if、else、for等與Java中一樣
可以向葉面輸出文本內(nèi)容:document.write(“文本內(nèi)容”);文本內(nèi)容可以使html代碼(也要放在引號內(nèi))。每向頁面輸出一個i=*就換一次行:

(4) js數(shù)組

  • js的數(shù)組:區(qū)別于java中: java String [] str = {};

(5) js函數(shù)+變量

  • function 方法名稱(參數(shù)列表) {
    方法體;
    return;
    }
    參數(shù)列表:不能使用var關(guān)鍵字
    返回值:可寫可不寫的,如果有寫返回值,如果沒有,返回值可以省略不寫。

  • 動態(tài)函數(shù)和匿名函數(shù)

    • 動態(tài)函數(shù)
      Function (“參數(shù)列表”,“方法體”);如:
    • 匿名函數(shù)
      function(參數(shù)){ };分號!!既沒有函數(shù)名
  • 全局變量、局部變量
    全局:在<script>標(biāo)簽內(nèi)部定義的變量。
    局部:在函數(shù)的內(nèi)部定義的變量,不管是在函數(shù)參數(shù)列表還是方法體中定義的。ps:即便該函數(shù)在<script>中,也是局部變量。

4、js中的對象

String、Date、Math、Array、正則表達(dá)式等對象
參考地址:http://www.runoob.com/jsref/jsref-tutorial.html

  • String對象


Paste_Image.png

所有方法調(diào)用時不要忘記用對象來調(diào)用!!!
和java中String對象類似的:

和HTML相關(guān)的方法(書寫沒有提示的):

  • Array對象
    聲明數(shù)組的兩種方式
    var arr = [12,33];
    var arr = new Array(4,4);



    ps:concat連接的可以使數(shù)組和數(shù)組,也可以使數(shù)組和元素。

  • Date日期對象----僅列舉部分方法,詳細(xì)定義或方法可去文檔查看。
    var date = new Date(); 當(dāng)前的日期
    toLocaleString() 轉(zhuǎn)換本地的日期格式
    toLocaleDateString() 只包含日期
    toLocaleTimeString() 只包含時間
    getDate() 返回一個月中的某一天(1-31)
    getDay() 返回一周中的某一天(0-6)
    getMonth() 返回月份(0-11) +1
    getFullYear() 返回年份
    getTime() 返回毫秒數(shù)
    setTime() 通過毫秒數(shù)獲取日期
    parse(str) 解析字符串,返回毫秒數(shù)---靜態(tài)方法!
    Date.parse(str);
    str:
    2014-11-14 解析不了
    11/14/2014 可以解析
    2014,11,14 可以解析

  • Math對象(靜態(tài)的方法)--Math.round(x)

    • ceil(x) 上舍入
    • floor(x) 下舍入
    • round(x) 四舍五入
    • random() 0-1的隨機(jī)數(shù)
  • RegExp對象
    應(yīng)用:編寫注冊的表單,對表單輸入的內(nèi)容進(jìn)行校驗(yàn)。
    var reg = new RegExp("表達(dá)式");(開發(fā)中不經(jīng)常使用)
    var reg = /表達(dá)式/ 開發(fā)中經(jīng)常使用
    ** var reg = /^表達(dá)式$/ 開發(fā)中經(jīng)常使用。/^表示開始,$/結(jié)束**
    ** 校驗(yàn):**
    exec(string) 不經(jīng)常使用
    如果匹配,返回匹配的結(jié)果
    ** test(string) 經(jīng)常使用**
    如果匹配,返回是true,如果不匹配,返回是false
    if(reg.test("abc")){
    // 匹配上了
    }else{
    }

  • 全局函數(shù)
    使用全局函數(shù),不需要任何的對象。
    全局函數(shù)可以拿過來使用。
    global幫著管理全局函數(shù)。

    • eval() 可以解析字符串,執(zhí)行字符串中間的js代碼,如
      <script type="text/javascript"> var str = "alert('哈哈')"; eval(str);</script>
      注意,哈哈是用單引號括起來的。
    • isNaN() 判斷是否是非數(shù)字值
    • parseInt() 解析字符串,返回整數(shù)
    • encodeURI() 進(jìn)行編碼--針對中文
    • decodeURI() 解析解碼
    • encodeURIComponent()
    • decodeURIComponent()
    • escape()
    • unescape()

5、BOM對象--瀏覽器對象模型,每個對象都有自己的方法、屬性。

Window-Navigator-Screen-History-Location

  • 事件:onclick,點(diǎn)擊事件,可以加在某個按鈕上,按鈕被點(diǎn)擊時調(diào)用該方法。



  • Window 窗口對象(重要):屬性和方法
    * alert() 彈出提示框
    * confirm("參數(shù)") 詢問框
    * 提供倆按鈕,確定和取消
    * 如果點(diǎn)擊是確定,返回true,如果點(diǎn)擊取消,返回false

              * moveBy()          移動瀏覽器
                  
              * setInterval("函數(shù)",毫秒值)     定時相關(guān)的
                  * 每隔毫秒值執(zhí)行一次函數(shù)
                  * 返回唯一的id值
                  
              * setTimeout("函數(shù)",毫秒值)      
                  * 到了毫秒值后執(zhí)行一次函數(shù)
                  * 返回唯一的id值
                  
              * 清除定時
                  clearInterval(id的值)     
                  clearTimeout()
                  
              * close()   關(guān)閉瀏覽器的窗口,用window(表示當(dāng)前窗口)調(diào)用
              * open()    打開瀏覽器窗口
              
              * 屬性:
                  * opener 返回對創(chuàng)建此窗口的窗口的引用,即返回源窗口。 
                  * win  open()   彈出baidu的窗口
                      
                      在baidu窗口中  baidu.opener 得到了win的引用。
    
    • document屬性:
      document.getElementById("nameId"); 獲取到是input標(biāo)簽的對象,然后我們可以通過該對象給該標(biāo)簽做重新賦值等操作:


  • Navigator 和瀏覽器版本相關(guān)的對象(**)

    • userAgent 獲取瀏覽器的相關(guān)的信息
    • window.navigator.userAgent window可以省略不寫
  • Screen: 和屏幕相關(guān)的對象(-*)

  • History 和瀏覽器歷史相關(guān)
    back()返回上一個頁面
    forward()去下一個頁面

    • 可以用go(代替)
      • history.go(1) 等于forward
      • history.go(-1) 等于forward
  • Location 和瀏覽器地址相關(guān)的對象,調(diào)用時用小寫調(diào)用,location,以上幾個對象也是。
    href屬性:獲取和設(shè)置瀏覽器的路徑,也可以自己賦值為其他地址,然后點(diǎn)擊某按鈕時會調(diào)用方法,跳到其他網(wǎng)址。
    <body><input type="button" value="1號" onclick="run()"/></body><script type="text/javascript"> function run () { alert(location.href="http://www.baidu.com"); }</script></html>

  • 案例:圖片移動
    onload=“方法” ,作用在<body>標(biāo)簽中,可以在一打開頁面時就調(diào)用onload的方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • * CSS* CSS的簡介* 層疊樣式表。* CSS與HTML的結(jié)合(4種)* HTML的標(biāo)簽提供了屬性style...
    狠哇塞的小伙子啊閱讀 406評論 0 1
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,842評論 2 17
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,796評論 1 92
  • 好運(yùn)_2888閱讀 440評論 0 1
  • 這兩天真是累到死 累到迷茫 這會兒的感覺只有一個字 困
    文末兒閱讀 154評論 0 0