1. 程式人生 > >Python系統學習-16

Python系統學習-16

1.jquery的DOM文件操作

1.1兄弟之間插入

$('p').after('<h3>alex</h3>');
$('<h3>女神</h3>').insertAfter('p');
$('p').replaceWith('結婚了');
$('<h5>哈哈哈</h5>').replaceAll('h3');
    1. 初始化的時候,有初始化 渲染開銷 對於 文件 DOM 如果是頻繁性的切換 建議使用 display:block|none addClass
    1. 少量的切換 建議使用 建立元素 刪除元素 效能消耗 建立->銷燬

###1.2父.append(子) 子元素 可以是 string js物件 jquery物件

追加到父元素中的第一個元素
js
$(子).appendTo(父)

prepend() 方法在被選元素的開頭(仍位於內部)插入指定內容

$('.box').prepend('<h5>哈哈哈2</h5>')

刪除節點 事件保留

$('button').detach();

detach() 方法移除被選元素,包括所有的文字和子節點。然後它會保留資料和事件。
該方法會保留移除元素的副本,允許它們在以後被重新插入。
提示:如需移除元素及它的資料和事件,請使用 remove() 方法代替。
提示:如只需從被選元素移除內容,請使用 empty() 方法。

2.事件物件

DOM事件流(event flow )存在三個階段:事件捕獲階段、處於目標階段、事件冒泡階段。

  • 事件捕獲(event capturing):通俗的理解就是,當滑鼠點選或者觸發dom事件時,瀏覽器會從根節點開始由外到內進行事件傳播,即點選了子元素,如果父元素通過事件捕獲方式註冊了對應的事件的話,會先觸發父元素繫結的事件。
  • 事件冒泡(dubbed bubbling):與事件捕獲恰恰相反,事件冒泡順序是由內到外進行事件傳播,直到根節點。
  • 無論是事件捕獲還是事件冒泡,它們都有一個共同的行為,就是事件傳播,它就像一跟引線,只有通過引線才能將綁在引線上的鞭炮(事件監聽器)引爆,試想一下,如果引線不導火了,那鞭炮就只有一響了!!!
//a form  event.preventDefault();阻止預設事件
           event.preventDefault();
           //阻止冒泡
           event.stopPropagation();

3.換膚

<a href="javascript:void(0)">單擊此處什麼也不會發生</a>

z-index:屬性設定元素的堆疊順序。z-index對應的值比另一個大的話,大的值對應的圖在上面。

4.jquery的位置資訊

  • innerWidth innerHeight 內部寬和高 不包含border
  • outerHeight outerWidth 外部寬和高 包含border
$('.box').innerHeight()
$('.box').outerWidth()

5.滾動固定導航欄

$(document).scroll(function () {
            //獲取黃色的盒子到頂部的距離
           var top =  $('.content').offset().top;
           var docScrollTop = $(document).scrollTop()

            if (docScrollTop > top){
               $('.fix_header').show();
            }else {
                 $('.fix_header').hide();
            }
        });

6.事件委託

<body>
<ul>

    <li>alex1</li>
    <li>alex2</li>
    <li>alex3</li>
</ul>
<script src="jquery-3.3.1.js"></script>
<script>
    $(function () {
       $('ul li').click(function () {
           alert($(this).text());
       })

        //事件委託
        $('ul').on('click','li',function () {
            alert($(this).text())
        })
        });
</script>
</body>

陣列遍歷使用forEach

var arr = ['alex','etaibai','nv'];
        arr.forEach(function (el,index) {
            console.log(el,index);
        });

jquery偽陣列遍歷,使用each

$('li').each(function (index,el) {
            console.log(el);
            console.log(index);
        })

7.json的使用

//後端響應回來的資料 json字串
    var a={"name":"tom","sex":"男","age":"24"};  //json
    var b='{"name":"Mike","sex":"女","age":"29"}'; //jsonStr
    console.log(JSON.parse(b));     #變成json物件
    console.log(JSON.stringify(a));  #變成json字串

1.Less是css高階語言
gulp webpack上線