jQuery第二天

課程回顧:

? jQuery:JavaScript庫

? 入口函數:$(function () {});

? jQuery:jQuery對象,DOM對象

? jQuery轉成DOM:$(‘元素’)[索引值]

? DOM轉成jQuery:$(DOM對象);

? 篩選方法:parent,children,find,siblings,eq

? 樣式操作:css方法

? 類名操作:addClass,removeClass,toggleClass

jQuery動畫效果

顯示隱藏效果

show([speed,[easing],[fn]])【顯示】
hide([speed,[easing],[fn]])【隱藏】
toggle([speed,[easing],[fn]])【切換】(1)參數都可以省略, 無動畫直接顯示。
(2)speed:三種預定速度之一的字符串(“slow”,“normal”, or “fast”)或表示動畫時長的毫秒數值(如:1000)。
(3)easing:(Optional) 用來指定切換效果,默認是“swing”,可用參數“linear”。
(4)fn:  回調函數,在動畫完成時執行的函數,每個元素執行一次。

滑動效果

slideDown([speed,[easing],[fn]])【下滑效果】
slideUp([speed,[easing],[fn]])【上滑效果】
slideToggle([speed,[easing],[fn]])【切換效果】(1)參數都可以省略。
(2)speed:三種預定速度之一的字符串(“slow”,“normal”, or “fast”)或表示動畫時長的毫秒數值(如:1000)。
(3)easing:(Optional) 用來指定切換效果,默認是“swing”,可用參數“linear”。
(4)fn:  回調函數,在動畫完成時執行的函數,每個元素執行一次

下拉菜單案例修改

事件切換**

hover([over,]out)

hover(function () {},function () {});

$(‘div’).hover(function () {//鼠標進入的函數},function () {//鼠標離開的函數});

(1)over:鼠標移到元素上要觸發的函數(相當于mouseenter)(2)out:鼠標移出元素要觸發的函數(相當于mouseleave)(3)如果只寫一個函數,則鼠標經過和離開都會觸發它

動畫隊列及其停止排隊方法

動畫或者效果一旦觸發就會執行,如果多次觸發,就造成多個動畫或者效果排隊執行。停止排隊:stop()(1)stop() 方法用于停止動畫或效果。
(2)  注意: stop() 寫到動畫或者效果的前面, 相當于停止結束上一次的動畫

淡入淡出效果

fadeIn([speed,[easing],[fn]])【淡入】
fadeOut([speed,[easing],[fn]])【淡出】
fadeToggle([speed,[easing],[fn]])【切換】
fadeTo([[speed],opacity,[easing],[fn]])【到達某個位置】(1)參數都可以省略。
(2)speed:三種預定速度之一的字符串(“slow”,“normal”, or “fast”)或表示動畫時長的毫秒數值(如:1000)。
(3)easing:(Optional) 用來指定切換效果,默認是“swing”,可用參數“linear”。
(4)fn:  回調函數,在動畫完成時執行的函數,每個元素執行一次。注意:fadeTo([[speed],opacity,[easing],[fn]])(1)opacity 透明度必須寫,取值 0~1 之間。
(2)speed:三種預定速度之一的字符串(“slow”,“normal”, or “fast”)或表示動畫時長的毫秒數值(如:1000)。必須寫
(3)easing:(Optional) 用來指定切換效果,默認是“swing”,可用參數“linear”。
(4)fn:  回調函數,在動畫完成時執行的函數,每個元素執行一次。

練習:高亮顯示

原理:鼠標進入讓當前元素的所有兄弟透明度降低,鼠標離開恢復既可注意:動畫排隊問題<script>$(function () {// 鼠標進入li,其他兄弟們透明度改成0.5$('.wrap li').mouseover(function () {$(this).siblings().stop().fadeTo(400, 0.5);});// 鼠標離開li,其他兄弟們的透明度改成1$('.wrap li').mouseout(function () {$(this).siblings().stop().fadeTo(400, 1);});});</script>

自定義動畫 animate

語法:animate(params,[speed],[easing],[fn]);參數:
(1)params: 想要更改的樣式屬性,以對象形式傳遞,必須寫。 屬性名可以不用帶引號, 如果是復合屬性則需要采取駝峰命名法 borderLeft。其余參數都可以省略。
(2)speed:三種預定速度之一的字符串(“slow”,“normal”, or “fast”)或表示動畫時長的毫秒數值(如:1000)。
(3)easing:(Optional) 用來指定切換效果,默認是“swing”,可用參數“linear”。
(4)fn:  回調函數,在動畫完成時執行的函數,每個元素執行一次。

案例:王者榮耀手風琴效果

鼠標經過某個小li 有兩步操作:1、當前小li 寬度變為 224px, 同時里面的小圖片淡出,大圖片淡入2、其余兄弟小li寬度變為69px, 小圖片淡入, 大圖片淡出$(function () {$('.king li').mouseover(function () {// 鼠標進入li,讓當前這個li變成224寬,小圖隱藏,大圖顯示$(this).stop().animate({width : 224}).find('.small').stop().fadeOut().siblings('.big').stop().fadeIn();// 其他兄弟li變成69寬,他們的小圖顯示,大圖隱藏$(this).siblings().stop().animate({width : 69}).find('.small').stop().fadeIn().siblings('.big').stop().fadeOut();});});

動畫:

? 基本動畫:show,hide,toggle

? 滑動動畫:slideDown,slideUp,slideToggle

? 淡入淡出動畫:fadeIn,fadeOut,fadeToggle,fadeTo(speed,opcity)

? 自定義動畫:animate({屬性});

上午回顧:

? 動畫效果:基本動畫效果,滑動動畫效果,淡入淡出動畫效果,自定義動畫

? 事件切換:hover(inFn,outFn)

? 停止動畫:stop

jQuery選擇器:獲取元素$(元素)

樣式操作:css方法

類名操作:addClass,removeClass,toggleClass

動畫效果:4種

jQuery 屬性操作

<img src="a.jpg" id="d1" width="100 index='3' data-index='1' bigSrc='2.jpg'>固有屬性,自定義屬性prop操作固有屬性,attr操作自定義屬性

設置或獲取元素固有屬性值 prop()

所謂元素固有屬性就是元素本身自帶的屬性,比如 <a>元素里面的 href ,比如 <input>元素里面的 type。

獲取語法:

$(‘div’).prop(’‘屬性’’)

$(‘div’).prop(‘id’)

設置屬性語法

$(‘div’).prop(’‘屬性’’, ‘‘屬性值’’)

$(‘div’).prop(‘id’,‘d2’)

change事件,表單中checked屬性

設置或獲取元素自定義屬性值 attr()

用戶自己給元素添加的屬性,我們稱為自定義屬性。比如給 div 添加 index=“1”。 

獲取屬性語法

attr(’‘屬性’’) // 類似原生 getAttribute()

設置屬性語法

attr(’‘屬性’’, ‘‘屬性值’’) //類似原生 setAttribute()

數據緩存 data()【了解】

當做變量存儲

data() 方法可以在指定的元素上存取數據,并不會修改 DOM 元素結構,所以元素上無法查看。一旦頁面刷新,之前存放的數據都將被移除。

附加數據語法

$(元素).data(’‘name’’,’‘value’’) // 向被選元素附加數據

獲取數據語法

$(元素).date(’‘name’’) // 向被選元素獲取數據

例如:

$('span').data('spanindex',3);console.log($('span').data('spanindex'));

購物車案例:

案例:購物車案例模塊-全選**

①全選思路:里面3個小的復選框按鈕(j-checkbox)選中狀態(checked)跟著全選按鈕(checkall)走。②因為checked 是復選框的固有屬性,此時我們需要利用prop()方法獲取和設置該屬性。③把全選按鈕狀態賦值給3小復選框就可以了。④當我們每次點擊小的復選框按鈕,就來判斷:⑤如果小復選框被選中的個數等于3 就應該把全選按鈕選上,否則全選按鈕不選。⑥:checked 選擇器      :checked 查找被選中的表單元素。change改變到時候,獲取當前input的checked狀態,賦值給小按鈕和全選按鈕既可小按鈕改變的時候,判斷選中個數和總個數,修改大按鈕是否要選中

課程回顧:

? 動畫效果:

? 基本動畫:show,hide,toggle

? 滑動動畫:slideDown,slideUp,slideToggle

? 淡入淡出:fadeIn,fadeOut,fadeTo,fadeToggle

? 自定義動畫:animate({屬性});

? 事件切換:hover(over,out);

? 停止動畫:stop

? 屬性操作:prop固有屬性,attr自定義屬性,[data]$(元素).prop(‘屬性’, ‘值’);

? 文本內置:html,text,val;$(元素).html(‘值’)

?

jQuery 內容文本值

innerHTML,innerText,value

普通元素內容 **html()****(相當于原生inner HTML)

? 獲取:html() // 獲取元素的內容

? 設置:html(’‘內容’’) // 設置元素的內容

普通元素文本內容 **text() (相當與原生innerText)

? 獲取:text() // 獲取元素的文本內容

? 設置:text(’‘文本內容’’) // 設置元素的文本內容

表單的值 val()( 相當于原生value)

? 獲取:val() // 獲取表單的值

? 設置:val(’‘內容’’) // 設置表單的值

$('input').click(function () {// 獲取// console.log( $('div').html() );// 設置// $('div').html('<b>哇哈哈哈</b>');// 獲取// console.log( $('div').text() );// 設置// $('div').text('<b>新的內容</b>');// 獲取// console.log( $('input').val() );// 設置$('input').val('哇哈哈哈按鈕');});

案例:購物車案例模塊-增減商品數量

①核心思路:首先聲明一個變量,當我們點擊+號(increment),就讓這個值++,然后賦值給文本框。②注意1: 只能增加本商品的數量, 就是當前+號的兄弟文本框(itxt)的值。 ③修改表單的值是val() 方法④注意2: 這個變量初始值應該是這個文本框的值,在這個值的基礎上++。要獲取表單的值⑤減號(decrement)思路同理,但是如果文本框的值是1,就不能再減了,直接return false即可

**購物車案例模塊-**修改商品小計

①核心思路:每次點擊+號或者-號,根據文本框的值 乘以 當前商品的價格  就是 商品的小計②注意1: 只能增加本商品的小計, 就是當前商品的小計模塊(p-sum)  ③修改普通元素的內容是text() 方法④注意2: 當前商品的價格,要把¥符號去掉再相乘 截取字符串 substr(1)⑤parents(‘選擇器’) 可以返回指定祖先元素  ⑥最后計算的結果如果想要保留2位小數 通過 toFixed(2)  方法⑦用戶也可以直接修改表單里面的值,同樣要計算小計。 用表單change事件⑧用最新的表單內的值 乘以 單價即可  但是還是當前商品小計點擊獲取單價和數量相乘的結果保存給小計既可用戶直接輸入數字問題

jQuery 元素操作

主要是遍歷、創建、添加、刪除元素操作。

遍歷元素

jQuery 隱式迭代是對同一類元素做了同樣的操作。如果想要給同一類元素做不同操作,就需要用到遍歷。

語法1:$(“div”).each(function(index, domEle) { xxx; })

\1. each() 方法遍歷匹配的每一個元素。主要用DOM處理。 each 每一個\2. 里面的回調函數有2個參數:  index 是每個元素的索引號;  demEle 是每個DOM元素對象,不是jquery對象\3. 所以要想使用jquery方法,需要給這個dom元素轉換為jquery對象  $(domEle)

語法2:$.each(object,function(index, element){ xxx;})

\1. $.each()方法可用于遍歷任何對象。主要用于數據處理,比如數組,對象\2. 里面的函數有2個參數:  index 是每個元素的索引號;  element  遍歷內容

**案例:購物車案例模塊-**計算總計和總額

①核心思路:把所有文本框里面的值相加就是總計數量。總額同理②文本框里面的值不相同,如果想要相加需要用到each遍歷。聲明一個變量,相加即可③點擊+號-號,會改變總計和總額,如果用戶修改了文本框里面的值同樣會改變總計和總額④因此可以封裝一個函數求總計和總額的, 以上2個操作調用這個函數即可。⑤注意1: 總計是文本框里面的值相加用 val()     總額是普通元素的內容用text()  ⑥要注意普通元素里面的內容要去掉¥并且轉換為數字型才能相加多次需要求總計,所有封裝函數最為合適

創建元素

語法:$(’‘

  • 內容
  • ’’);

添加元素

內部添加:產生的父子級關系

element.append(’‘內容’’) [把內容放入匹配元素內部最后面,類似原生 appendChild。

appendTo

element.prepend(’‘內容’’) 把內容放入匹配元素內部最前面。

prependTo

外部添加

element.after(’‘內容’’) // 把內容放入目標元素后面

element.before(’‘內容’’) // 把內容放入目標元素前面

①內部添加元素,生成之后,它們是父子關系。②外部添加元素,生成之后,他們是兄弟關系。

刪除元素

element.remove() // 刪除匹配的元素(本身)

element.empty() // 刪除匹配的元素集合中所有的子節點

element.html(’’’’) // 清空匹配的元素內容

①remove 刪除元素本身。②empt() 和  html('''') 作用等價,都可以刪除元素里面的內容,只不過 html 還可以設置內容。

**案例:購物車案例模塊-**刪除商品模塊

①核心思路:把商品remove() 刪除元素即可②有三個地方需要刪除: 1. 商品后面的刪除按鈕 2. 刪除選中的商品 3. 清理購物車③商品后面的刪除按鈕: 一定是刪除當前的商品,所以從 $(this) 出發④刪除選中的商品: 先判斷小的復選框按鈕是否選中狀態,如果是選中,則刪除對應的商品⑤清理購物車: 則是把所有的商品全部刪掉

**案例:購物車案例****模塊選中商品添加背景

①核心思路:選中的商品添加背景,不選中移除背景即可②全選按鈕點擊:如果全選是選中的,則所有的商品添加背景,否則移除背景③小的復選框點擊: 如果是選中狀態,則當前商品添加背景,否則移除背景④這個背景,可以通過類名修改,添加類和刪除類

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

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

相關文章

切換Debug/Release編譯模式和Archive的作用

&#xfeff;在學這個之前&#xff0c;以為很難&#xff0c;也起不到什么作用&#xff0c;但是等真正運用到工程里面&#xff0c;才發現&#xff0c;這個能幫你省下很多工作量。 1&#xff0c;Debug和Release版本區別&#xff1f; 進行iOS開發&#xff0c;在Xcode調試程序時&am…

Linux 防火墻:Netfilter iptables

一、Netfilter 簡介 (1) Netfilter 是 Linux 內置的一種防火墻機制&#xff0c;我們一般也稱之為數據包過濾機制&#xff0c;而 iptables 只是操作 netfilter 的一個命令行工具(2) Netfilter 是 Linux CentOS 6 內置的防火墻機制&#xff0c;Firewall 是 Linux CentOS 7 內置的…

無法加載 DLL“SQLite.Interop.DLL”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。...

無法加載 DLL“SQLite.Interop.DLL”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。 在項目里添加 現有項 把SQLite.Interop.DLL文件添加進來&#xff0c;然后點擊屬性 修改一個屬性 把 屬性 復制到輸出目錄 改為 始終復制 然后打開你的項目屬性 進入生成的 頁面&a…

jQuery第三天

課程回顧&#xff1a; ? 動畫效果&#xff1a;基本動畫&#xff0c;滑動動畫&#xff0c;淡入淡出&#xff0c;自定義動畫效果(animate) ? 事件切換&#xff1a;hover(over&#xff0c;out); ? 停止動畫&#xff1a;stop ? 操作屬性&#xff1a;prop&#xff08;固有屬…

C語言程序設計II—第八周教學

第八周教學總結&#xff08;15/4-21/4&#xff09; 教學內容 本周的教學內容為&#xff1a;   8.4 電碼加密 知識點&#xff1a;指針與字符串&#xff0c;重難點&#xff1a;字符指針與字符串的關聯和區別&#xff1b;   8.5 任意個整數求和 知識點&#xff1a;動態內存分配…

AFNetworking 對數據進行https ssl加密

參考來源&#xff1a;http://www.cnblogs.com/jys509/p/5001566.html 現在在工作中的工作需求&#xff1a;https請求驗證證書一般來講如果app用了web service , 我們需要防止數據嗅探來保證數據安全.通常的做法是用ssl來連接以防止數據抓包和嗅探其實這么做的話還是不夠的 。…

數據庫系統原理(第一章概述)

一、數據庫基本概念 什么是數據&#xff1a;數據&#xff08;Data&#xff09;是描述事物的符號記錄&#xff0c;是指利用物理符號記錄下來的、 可以鑒別的信息。 數據是信息存在的一種形式&#xff0c;只有通過解釋或處理的數據才能成為有用的信息。 什么是數據庫&#xff1a;…

jQuery第四天

課程回顧&#xff1a; ? 元素操作&#xff1a; ? 遍歷元素&#xff1a; ? $(‘元素’).each(function (index, elm) {}); ? $.each(對象&#xff0c;function (index, elm) {}); ? 創建元素&#xff1a;$(‘ 新的元素?’);? 添加元素&#xff1a; ? 內部添加&…

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…