jQuery第四天

課程回顧:

? 元素操作:

? 遍歷元素:

? $(‘元素’).each(function (index, elm) {});

? $.each(對象,function (index, elm) {});

? 創建元素:$(‘

  • 新的元素
  • ?’);

    ? 添加元素:

    ? 內部添加:append,appendTo,prepend,prependTo

    ? 外部添加:after,before

    ? 刪除元素:remove,empty,html(’’);

    ? 元素尺寸:width,innerWidth,outerWidth,outerWidth(true);

    ? 元素位置:

    ? 偏移位置:offset,position

    ? 卷起位置:scrollTop

    ? parents:獲取所以上級元素

    每日反饋

    小計:小計 = 單價 * 數量數量:獲取輸入框里面的數量單價:獲取內容,獲取之后要吧純數字部分截取出來小計:鏈接¥,并且要保留兩位有效數字
    總計:總件數:把所以輸入框里面的數量相加,放到頁面中總價格:把所有小計里面的數相加,放到頁面中
    

    案例:品優購電梯導航

    ①當我們滾動到 今日推薦 模塊,就讓電梯導航顯示出來②點擊電梯導航頁面可以滾動到相應內容區域③核心算法:因為電梯導航模塊和內容區模塊一一對應的④當我們點擊電梯導航某個小模塊,就可以拿到當前小模塊的索引號⑤就可以把animate要移動的距離求出來:當前索引號內容區模塊它的offset().top⑥然后執行動畫即可
    
    第二部分:①當我們點擊電梯導航某個小li, 當前小li 添加current類,兄弟移除類名②當我們頁面滾動到內容區域某個模塊, 左側電梯導航,相對應的小li模塊,也會添加current類, 兄弟移除current類。③觸發的事件是頁面滾動,因此這個功能要寫到頁面滾動事件里面。④需要用到each,遍歷內容區域大模塊。 each里面能拿到內容區域每一個模塊元素和索引號⑤判斷的條件:  被卷去的頭部 大于等于 內容區域里面每個模塊的offset().top⑥就利用這個索引號找到相應的電梯導航小li添加類。
    

    jQuery 事件

    目標:

    能夠說出4種常見的注冊事件 能夠說出 on 綁定事件的優勢能夠說出 jQuery 事件委派的優點以及方式能夠說出綁定事件與解綁事件

    jQuery事件注冊

    語法:element.事件(function(){})

    $(“div”).click(function(){  事件處理程序 }) 
    

    其他事件和原生基本一致。

    比如mouseover、mouseout、blur、focus、change、keydown、keyup、resize、scroll 等

    事件處理 on() 綁定事件

    on() 方法在匹配元素上綁定一個或多個事件的事件處理函數

    語法:element.on(events,[selector],fn)

    \1. events:一個或多個用空格分隔的事件類型,如"click"或"keydown" 。\2. selector: 元素的子元素選擇器 。\3. fn:回調函數 即綁定在元素身上的偵聽函數。 
    

    on() 方法優勢1:

    1、可以綁定多個事件,多個處理事件處理程序。

     $(“div”).on({mouseover: function(){},mouseout: function(){},click: function(){} });       
    

    on() 方法優勢2:

    可以事件委派操作。事件委派的定義就是,把原來加給子元素身上的事件綁定在父元素身上,就是把事件委派給父元素。

    $('ul').on('click', 'li', function() {alert('hello world!');}); 

    在此之前有bind(), live(),delegate()等方法來處理事件綁定或者事件委派,最新版本的請用on替代他們。

    on() 方法優勢3:

    動態創建的元素,click()沒有辦法綁定事件,on() 可以給動態生成的元素綁定事件

     $(“div").on("click",”p”, function(){alert("俺可以給動態生成的元素綁定事件")});

    案例:發布微博案例

    ①點擊發布按鈕, 動態創建一個小li,放入文本框的內容和刪除按鈕, 并且添加到ul 中。

    ②點擊的刪除按鈕,可以刪除當前的微博留言。

    事件處理 off() 解綁事件

    off() 方法可以移除通過 on() 方法添加的事件處理程序。

    $("p").off() // 解綁p元素所有事件處理程序$("p").off( "click")  // 解綁p元素上面的點擊事件 后面的 foo 是偵聽函數名$("ul").off("click", "li");   // 解綁事件委托
    

    如果有的事件只想觸發一次, 可以使用 one()來綁定事件。

    // 給input添加點擊事件,但是這個事件只要觸發1次就夠$('input').one('click', function () {console.log('哇哈哈');});解綁:off,
    一次性:one
    

    自動觸發事件trigger()

    有些事件希望自動觸發, 比如輪播圖自動播放功能跟點擊右側按鈕一致。可以利用定時器自動觸發右側按鈕點擊事件,不必鼠標點擊觸發

    element.click() // 第一種簡寫形式

    element.trigger(“type”)//第二種自動觸發模式

    element.triggerHandler(‘type)’ // 第三種自動觸發事件【不會觸發事件元素的默認效果】

    $("p").on("click", function () {alert("hi~");}); $("p").trigger("click"); // 此時自動觸發點擊事件,不需要鼠標點擊
    

    element.triggerHandler(type) // 第三種自動觸發模式

    triggerHandler模式不會觸發事件的默認效果行為,這是和前面兩種的區別。

    $('input').focus(function () {console.log(123);});// $('input').focus();// $('input').trigger('focus');$('input').triggerHandler('focus');
    

    上午回顧:

    ? jQuery事件:

    ? 注冊事件:

    ? $(元素).click(function () {});

    ? $(元素).on(‘事件類型’, [后代元素], function () {});

    ? // 用on的又是:1.可以多事件同時綁定,2.事件委派,3.如果動態創建的元素可以有事件

    ? 解綁事件:

    ? off:如果不加參數意思都解除,如果加參數解除指定的事件,可以解除事件委派

    ? one:一次性事件

    ? 自動觸發事件:

    ? $(元素).click();

    ? $(元素).trigger(‘事件類型’);

    ? $(元素).triggerHandler(‘事件類型’)

    jQuery事件對象

    事件被觸發,就會有事件對象的產生。

    事件出發時,產生的特殊的對象

    【event==》事件對象】

    element.on(events,[selector],function(event){})
    
    阻止默認行為:event.preventDefault()   或者 return  false 阻止冒泡: event.stopPropagation() 
    

    釋放$符號

    var jq = $.noConflict();<script type="text/javascript">// $('input');var jq = $.noConflict();console.log( jq('input') );</script>
    

    jQuery 其他方法

    jQuery 插件

    jQuery插件

    jQuery 功能比較有限,想要更復雜的特效效果,可以借助于 jQuery 插件完成。 注意: 這些插件也是依賴于jQuery來完成的,所以必須要先引入jQuery文件,因此也稱為 jQuery 插件。**jQuery** **插件常用的網站:**1.  jQuery 插件庫  http://www.jq22.com/  2.  jQuery 之家   http://www.htmleaf.com/  **jQuery** **插件使用步驟:**1.  引入相關文件。(jQuery 文件 和 插件文件)2.  復制相關html、css、js (調用插件)。
    

    瀑布流:

    瀑布流
    

    圖片懶加載或者(BOOTSTRAP插件)

    (圖片使用延遲加載在可提高網頁下載速度。它也能幫助減輕服務器負載)

    當我們頁面滑動到可視區域,再顯示圖片。

    我們使用jquery 插件庫 EasyLazyload。 注意,此時的js引入文件和js調用必須寫到 DOM元素(圖片)最后面

    注意:1、要引入JQuery2、插件JS【js引入文件和js調用必須寫到 DOM元素(圖片)最后面】3、將圖片 src 替換為 data-lazy-src1、ctrl + H2、查找img的src(因為這里面還有script的src)3、替換的時候要和查找的時候保存格式相同4、調用lazyLoadInit()
    

    BOOTSTRAP插件

    1、引入CSS、引入JQ、引入JS2、.container3、復制粘貼

    知識點:

    本地存儲技術:

    localSortage對象:把數據以字符串的方式保存本地獲取: localStorage.getItem()設置: localStorage.setItem()
    

    JSON 方法補充

    作用:把字符串數組轉成數組,或者把數組轉成字符串數組例如:var str = '[{"name":"張三豐"},{"name":"李尋歡"},{"name":"喬峰"}]';JSON 解析:JSON.parse():返回轉換后的數組JSON 轉字符串:JSON.stringify();<script type="text/javascript">var str = '[{"name":"張三豐"},{"name":"李尋歡"},{"name":"喬峰"}]';// console.log(str);// 轉成數組var arr = JSON.parse(str);// console.log( arr );var newStr = JSON.stringify(arr);console.log(newStr);</script>
    

    課程回顧:

    ? jQuery注冊事件:

    ? $(元素).click(function () {})

    ? $(元素).on(‘click’,[委派元素],function () {});

    ? 一次性:one

    ? jQuery解綁事件:off

    ? 自動觸發:

    ? 簡寫:$(元素).click()

    ? 觸發:$(元素).trigger(‘click’);

    ? 觸發:$(元素).triggerHandler(‘click’);

    ? jQuery事件對象:如果要用事件對象,那么我們直接再函數中設置形參接受即可

    ? 釋放符號:var jq = $.noConflict();

    ? jQuery成品插件:很多

    ? 知識點:

    ? 本地存儲技術:localStorage.setItem(‘鍵’,‘值’);localStorage.getItem(‘鍵’);

    ? JSON方法:JSON.parse,JSON.stringify

    ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248112.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248112.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248112.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

navigationController的NavigationBar和ToolBar的POP或PUSH消失問題

今天在工作中發現一個坑&#xff0c; 其他頁面都是隱藏。YSViewController 使用的時候必須是需要 navigationBar 和 toorbar&#xff0c;但是 pop出這個viewcontroller后&#xff0c;需要隱藏navigationBar 和 toorbar&#xff0c;但是直接設置為hiddenYES會出現其他頁面壓棧出…

實驗二:Linux下Xen環境的安裝

實驗名稱&#xff1a; Linux下Xen環境的安裝&#xff08;centOS7&#xff09; 實驗環境&#xff1a; 本次實驗基本是在centOS7的環境下完成&#xff0c;系統內核和系統版本如下&#xff1a; 實驗要求&#xff1a; 為centOS7的環境下安裝Xen的平臺&#xff0c;能夠正常使用Xen下…

IDEA寫vue項目出現紅色波浪線警告如何解決??

1.看圖 2.希望對大家有幫助&#xff0c;只要修改了這個就可以&#xff0c;如有任何問題都可以留言&#xff0c;謝謝大家 2019-09-1923:54:11 作者&#xff1a;何秀好 轉載于:https://www.cnblogs.com/itboxue/p/11553395.html

數據可視化(BI報表的開發)第一天

課程回顧&#xff1a; ? jQuery事件注冊&#xff1a; ? $(元素).click(function () {}); ? $(元素).on(‘click’, [后代元素], function () {}); ? $(元素).one(‘click’, function () {}); ? 解綁事件&#xff1a;off ? 自動觸發&#xff1a; ? $(元素).click…

在Block中使用weakSelf與strongSelf的意義

在Block中使用weakSelf與strongSelf的意義 我們都會聲明一個弱引用在block中使用, 目的就是防止循環引用, 那么weakSelf與strongSelf一起使用目的是什么呢? 首先先定義2個宏: #define YXWeakSelf(type) __weak typeof(type) weak##type type; #define StrongSelf(type) __…

操作系統原理之操作系統簡介(第一章)

一、 什么是操作系統 操作系統&#xff1a;是一種復雜的系統軟件&#xff0c;是不同程序代碼、數據結構、數據初始化文件的集合&#xff0c;可執行。 操作系統是用戶與硬件之間的接口&#xff1a;操作系統與硬件部分相互作用&#xff0c;并且為運行在計算機上的應用程序提供執行…

數據可視化(BI報表的開發)第二天

9、公用面板樣式 所有的面板的基礎樣式是一致的&#xff0c;提前布局好。 面板 .panel &#xff1a;box-sizing&#xff0c;邊框圖&#xff0c;大小&#xff0c;定位【51 38 20 132】容器 .inner&#xff1a;padding&#xff1a;24&#xff0c;36&#xff0c;定位外部拉寬標…

關于Xcode 7.3 7.3.1 斷點 卡死 無限菊花

關于Xcode 7.3 7.3.1 斷點 卡死 無限菊花 只要一打斷點,就無限卡死,變量區一直菊花在轉,只有強制退出Xcode才能重新編譯,找了Google和Stack OvewFlowe依然沒有解決辦法. 刪除項目,重新安裝Xcode,重新運行程序一切辦法都解決不到,百度上說的"build setting中將Enable Clang…

html5+hbuilder+夜神模擬器+webview

HTML5 Plus應用概述 首先新建一個移動App項目&#xff0c;文件-->新建-->移動APP HTML5 Plus移動App&#xff0c;簡稱5App&#xff0c;是一種基于HTML、JS、CSS編寫的運行于手機端的App&#xff0c;這種App可以通過擴展的JS API任意調用手機的原生能力&#xff0c;實現與…

第十九節:Asp.Net Core WebApi知識總結(一)

111 轉載于:https://www.cnblogs.com/yaopengfei/p/11558525.html

iOS設計模式 ——單例模式詳解以及嚴格單例模式注意點

一、我們常用的單例有哪些&#xff1f; [[UIApplication sharedApplication] statusBarStyle];//系統中的單例模式&#xff0c;通過它獲取到狀態欄的style [NSNotificationCenter defaultCenter] addObserver:<#(nonnull id)#> selector:<#(nonnull SEL)#> name:&…

科學計算庫學習報告

numpy與matplotlib的學習隨筆 我愛代碼 import numpy as npimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcParams[font.family]SimHeimatplotlib.rcParams[font.sans-serif][SimHei]labelsnp.array([第一次,第二次,第三次,第四次,第五次,第六次])nAttr6datanp…

前端網頁 — 初始化文件

/*--------------------------初始化代碼*/ /*清除默認的margin和padding*/ * {margin: 0;padding: 0; }/*清除小圓點*/ ul {list-style: none; }/*清除a標簽默認的下劃線*/ a {text-decoration: none; }/*表格邊框合并*/ table {border-collapse: collapse; }/*去除input標簽點…

數據庫系統原理(第二章關系數據庫 )

一、關系數據庫概述 20世紀80年代后&#xff0c;在商用數據庫管理系統中&#xff0c;&#xff08; 關系模型 &#xff09;逐漸取代早 期的網狀模型和層次模型&#xff0c;成為主流數據模型 SQL3&#xff08;SQL-99&#xff09;:1999年 SQL2&#xff08;SQL-92&#xff09;&…

iOS NSMutableAttributedString常用方法總結

NSAttributedString 叫做富文本&#xff0c;是一種帶有屬性的字符串&#xff0c;通過它可以輕松的在一個字符串中表現出多種字體、字號、字體大小等各不相同的風格&#xff0c;還可以對段落進行格式化&#xff0c;一般都是對可變富文本&#xff08;NSMutableAttributedString&a…

微信小程序image bindload事件失效不觸發

1.先上代碼 <template><div :class"[img-wrapper, className]"><img :src"defaultSrc" :mode"mode" class"default-img" :hidden"loaded"><img :src"src" :mode"mode" load"…

數據可視化(BI報表的開發)第三天

20、銷售統計-布局 html結構&#xff1a; <!-- 銷售額 --><div class"sales panel"><div class"inner"><div class"caption"><h3>銷售額統計</h3><a href"javascript:;" class"active&q…

軟件開發工具(第1章:緒論)

一、 軟件開發工具的由來 計算機語言和軟件開發工具的發展和歷史 機器語言&#xff08;第一代語言&#xff09;&#xff1a;難以記憶的、無意義的、二進 制的字符串 匯編語言&#xff08;第二代語言&#xff09;針對難以記憶的、無意義的、二進 制的字符串、人們試圖用英語中具…

Swift傻傻分不清楚系列(一)常量與變量

菜鳥從零開始認識學習Swift。感謝大神們翻譯的文檔。搬到自己小黑屋里慢慢看~~~ 本頁包含內容&#xff1a; 常量和變量聲明常量和變量類型標注常量和變量的命名輸出常量和變量注釋分號 Swift 是一門開發 iOS, OS X 和 watchOS 應用的新語言。然而&#xff0c;如果你有 C 或者 …

Saiku Table展示數據合并bug修復(二十五)

Saiku Table展示數據合并bug修復 Saiku以table的形式展示數據&#xff0c;如果點擊了 非空的字段 按鈕&#xff0c;則會自動進行數據合并&#xff0c;為空的數據行以及數據列都會自動隱藏掉。 首先我們應該定位問題&#xff1a; 1.查看接口返回值&#xff0c;會發現接口返回都正…