1. 程式人生 > >jQuery相關方法10

jQuery相關方法10

info 同時 col inpu 進入 http 邊框 屬性 font

一、鏈式編程的原理

    <script>
        //構造函數
        function Person(age){
            this.age=age;
            this.sayHi=function(txt){
                if(txt){
                console.log("你好"+txt);
                return this;//返回的是這個對象,就可以鏈式編程
                }else{
                    consle.log(
"hello"); } } this.eat=function(){ console.log("吃大餐"); return this; } } //實例對象 var per=new Person(10); per.sayHi("謝謝").eat();//你好謝謝 吃大餐 </script>

二、each方法

  • 每個元素需要做不同的操作的時候,使用each方法,遍歷jQuery的對象
  • 語法$(selector).each(function(index,element))
  • each方法就是用來遍歷jQuery對象的,但是裏面的每個元素最開始是DOM對象,如果要使用jQuery的方法,必須轉換為jQuery對象
  • 例:分別把十個li設置成不一樣的透明度
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
    <script>
        //每個元素需要做不同的操作的時候,使用each方法,遍歷jQuery的對象
        //語法$(selector).each(function(index,element))
//each方法就是用來遍歷jQuery對象的,但是裏面的每個元素最開始是DOM對象,如果要使用jQuery的方法,必須轉換為jQuery對象 //例:分別把十個li設置成不一樣的透明度 $(function(){ $("#uu>li").each(function(index,ele){ var opacity=(index+1)/10; $(ele).css("opacity",opacity); }); }); </script> <ul id="uu"> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> <li style="width: 100px;height: 100px;background: red;float: left;margin-right: 5px;list-style: none;"></li> </ul>

技術分享圖片

三、案例:評分

        *{
            margin: 0;
            padding: 0;
        }
        .comment li{
            list-style: none;
            float: left;
            font-size: 50px;
        }
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
    <script>
        $(function(){
            $(".comment>li").mouseenter(function(){//進入事件
                //當前的li是實心的,前面的li也是實心的,鼠標後面的裏li是空心的
                $(this).text("").prevAll("li").text("").end().nextAll("li").text("");
            }).click(function(){//點擊事件
                //做一個記錄:為當前點擊的五角星添加一個自定義屬性和值,並且移除兄弟li的這個屬性
                $(this).attr("index","1").siblings("li").removeAttr("index");
            }).mouseleave(function(){//離開事件
                //鼠標離開先把所有的五角星變成空心的
                $(".comment>li").text("");
                //如果有其中一個li是有index這個屬性,則改變這個li和他前面的li變成實心五角星
                $(".comment>li[index=1]").text("").prevAll("li").text("");
            });
        });
    </script>
    <ul class="comment">
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>

技術分享圖片

四、多庫共存

  • 當多個庫同時以$符或者jQuery為命名空間時,那麽此時,就會和jQuery的$符號產生沖突。
  • 其實,多庫共存就是“$ ”符號的沖突。
  • 利用jQuery的實用函數$.noConflict();這個函數歸還$的名稱控制權給另一個庫,因此可以在頁面上使用其他庫。
  • 這時,我們可以用"jQuery "這個名稱調用jQuery的功能。
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
    <script>
       var n=$.noConflict();//把$的權利讓給了n,$可以在其他變量或者庫使用,而n就是jQuery的新的符號了
        var $=10;
        console.log($);//10
        //頁面加載事件
        n(function(){
            n("#btn").click(function(){
                console.log("n是新的jQuery符號!!!!");
            });
        });
    </script>
    <input type="button" value="點擊" id="btn">

五、包裝集

  • 包裝集:把很多的DOM對象進行包裝,或者是封裝----->jQuery對象
  • jQuery對象裝換成DOM對象:jQuery對象[0]或者是jQuery對象.get(0)
  • 如果是一個對象集,則[0]換成1,2,3....
  • jQuery中判斷這個元素是否存在,就是通過包裝集的length屬性
  • 例:點擊按鈕(無論點擊多少次),只創建一個p標簽
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
        $(function(){
            $("#btn").click(function(){
                if($("#p1").length==0){
                    $("<p id=p1>這個一個p</p>").appendTo($("#dv"));
                    console.log($("#p1")[0]);//<p id=p1>這個一個p</p>
                    console.log($("#p1")[1]);//undefined
                    console.log($("#p1").get(0));//<p id=p1>這個一個p</p>
                    console.log($("#p1").get(1));//undefined
                }
            });
        });
    </script>
    <input type="button" value="點擊" id="btn">
    <div id="dv" style="width: 200px;height: 200px;background: #ccc;"></div>

技術分享圖片

六、獲取元素的寬高的不同方法和區別

        *{
            margin: 0;
            padding: 0;
        }
        #dv{
            width: 200px;
            height: 200px;
            border: 10px solid #000;
            margin: 30px;
            padding: 20px;
            background: #ccc;
        }
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
    <script>
        $(function(){
            //innerWidth和innerHeight返回元素的寬高,包括內邊距
            console.log($("#dv").innerWidth()+"========"+$("#dv").innerHeight());//240========240
            //outerWidth和outerHeight返回元素的寬高,包括內邊距和邊框
            console.log($("#dv").outerWidth()+"========"+$("#dv").outerHeight());//260========260
            //outerHeight(true)和outerHeight(true)返回元素的寬高,包括內外邊距和邊框
            console.log($("#dv").outerHeight(true)+"========"+$("#dv").outerHeight(true));//320========320
        });
    </script>
    <div id="dv">這個div寬高200,邊框10,內邊距20,外邊距30</div>

七、jQuery添加方法

  • 如果希望jQuery的對象能夠調用某個方法,把方法加入到$.fn中(相當於添加原型)

八、mouseover事件和mouseenter事件的區別

  • mouseover事件:不論鼠標指針穿過被選元素或其子元素,都會觸發 mouseover 事件。
  • mouseenter事件:只有在鼠標指針穿過被選元素時,才會觸發 mouseenter 事件。

九、jQuery插件(步驟)

  • 下載
  • 壓縮包(js文件,css文件,插件的js文件,index.hmml文件)
  • 創建一個新的文件夾
  • 引入(下載的js文件,css文件,插件的js文件)
  • 把index.html讓復制的HTML代碼復制到自己的body或者div中
  • 把index.html讓復制的jQuery代碼復制到自己的script標簽中

十、jQuery UI(使用)

  • 引入jQuery UI的css文件
  • 引入jQuery的js文件
  • 引入jQueryUI的js文件
  • 查找和復制jQueryUI中的某個功能的所有代碼,包括html,css,js
  • 測試和使用

jQuery相關方法10