-
密碼的前后會(huì)留空,這可能是用戶的無心的行為,但是密碼確實(shí)又沒錯(cuò),針對(duì)這樣的行為,開發(fā)者應(yīng)該要判斷輸入值的前后是否有空白符、換行符、制表符這樣明顯的無意義的輸入值。
jQuery.trim()函數(shù)用于去除字符串兩端的空白字符。
需要注意:
1)移除字符串開始和結(jié)尾處的所有換行符,空格(包括連續(xù)的空格)和制表符(tab)。
2)如果這些空白字符在字符串的中間時(shí),它們將被保留,不會(huì)被移出。
查看全部 -
實(shí)際的用處:就是找在數(shù)組中的位置,具體可以用于判斷一些數(shù)據(jù)是否合理,比如手機(jī)號(hào)什么的
查看全部 -
top(true,true)狀態(tài)下,點(diǎn)擊開始動(dòng)畫,點(diǎn)擊暫停,再點(diǎn)擊開始時(shí),會(huì)有延時(shí)問題?
這個(gè)并不是延遲,而是當(dāng)你點(diǎn)擊停止后會(huì)結(jié)束當(dāng)前正在正在執(zhí)行的動(dòng)畫,直接跳到動(dòng)畫執(zhí)行完畢的樣子,你再次點(diǎn)擊它依舊會(huì)從第一個(gè)動(dòng)畫開始執(zhí)行,因?yàn)楝F(xiàn)在是第一個(gè)動(dòng)畫完成的樣子,所以這五秒是靜止不動(dòng)的,實(shí)際上它還處在第一個(gè)動(dòng)畫執(zhí)行期間,stop(true,true)是停止,并不是暫停
查看全部 -
問題:
這個(gè)step、progress有什么作用,怎么用的?arguments中的數(shù)組的值是從哪里傳遞過來的?動(dòng)畫step動(dòng)畫的顯示效果為什么會(huì)從100減到50,是怎么實(shí)現(xiàn)的?
回答:1、.animate(properties,options)中包含兩個(gè)參數(shù),options參數(shù)包括幾種,其中step:規(guī)定每個(gè)動(dòng)畫的每一步完成之后要執(zhí)行的函數(shù);progress:每一次動(dòng)畫調(diào)用的時(shí)候會(huì)執(zhí)行這個(gè)回調(diào),就是一個(gè)進(jìn)度的概念。
2、arguments中數(shù)組值代表函數(shù)第幾個(gè)參數(shù)。這里arguments[1]代表第二個(gè)參數(shù),則是代表fx。
3、這個(gè)程序沒有提供完整,在程序上面應(yīng)該會(huì)定義原先的塊級(jí)高度是100,動(dòng)畫中目標(biāo)高度是50,所以執(zhí)行動(dòng)畫時(shí)從100減到50。
4、顯示為1代表動(dòng)畫進(jìn)度完成到百分百。
查看全部 -
step與progress怎么理解?有什么區(qū)別?
請(qǐng)大神賜教:step與progress怎么理解?有什么區(qū)別?
2016-09-29源自:jQuery基礎(chǔ)(四)—?jiǎng)赢嬈?5-21799 瀏覽3 回答
最佳回答
2016-10-28
step這個(gè)屬性,研究了1天了,我來嘗試回答一下:
先引入一個(gè)概念:
一個(gè)動(dòng)畫執(zhí)行的進(jìn)度,可以用2個(gè)指標(biāo)來描述,一個(gè)是動(dòng)畫屬性的變動(dòng)值,另一個(gè)是動(dòng)畫在整個(gè)執(zhí)行過程的進(jìn)度
比如有一個(gè)動(dòng)畫效果:div向左移動(dòng)100px,用時(shí)200毫秒
那么我們?cè)趺疵枋鲞@個(gè)動(dòng)畫的每一步是什么呢?
我們可以說:div向左每移動(dòng)1個(gè)px,可以看成動(dòng)畫執(zhí)行了一步;
同時(shí)我們也可以說:我們把200毫秒分成100個(gè)時(shí)間段,動(dòng)畫開始后,把每個(gè)時(shí)間段的流逝,看作動(dòng)畫執(zhí)行了一步。
要特別特別注意的是:在animate方法中,每一步具體是怎么分解的,不是由我們?cè)O(shè)定的CSS屬性值和動(dòng)畫時(shí)長(zhǎng)來決定的,是由系統(tǒng)來決定的。
舉個(gè)例子:
1234567 var
?i?=?0;
$(
"div"
).animate({left:100},{
????
duration:100,
????
step:
function
(now,fx){
????????
console.log(i)?
//控制臺(tái)輸出,看看這個(gè)動(dòng)畫被分解成了幾個(gè)片段
????
}
});
上面的代碼中,不論使用step屬性或者progress屬性都可以執(zhí)行。
你會(huì)發(fā)現(xiàn),每次重復(fù)執(zhí)行,然而幾乎每一次 i 的值都有少量的差別,好了,結(jié)論就是:系統(tǒng)決定動(dòng)畫片段的數(shù)量。
上面扯的有點(diǎn)遠(yuǎn)了,不過對(duì)我們理解動(dòng)畫進(jìn)度這個(gè)概念還是有幫助的,現(xiàn)在可以來解釋 step 和 progress 的區(qū)別了
相同點(diǎn):step 和 progress 這兩個(gè)屬性,都是在動(dòng)畫執(zhí)行的每個(gè)階段來調(diào)用函數(shù),大部分情況下,使用任意一個(gè),都可以得到我們想要的效果。
不同點(diǎn),主要在fx這個(gè)參數(shù)上:
step:?fx返回的是和css相關(guān)的屬性;
progress:?fx返回的是動(dòng)畫進(jìn)度本身的屬性;
舉個(gè)例子:
1234567891011 <div?style=
"width:100px;height:100px;background-color:red"
></div>
<p?style=
"width:100px;height:100px;background-color:black"
></p>
<script>
$(
"div"
).animate({left:100},{
????
duration:100,
????
step:
function
(now,fx){
????????
console.log(
"參與動(dòng)畫的元素:"
+fx.elem);
????????
fx.elem?=?$(
"p"
);
????
}
});
</script>
運(yùn)行一下你會(huì)發(fā)現(xiàn),雖然我們?cè)赿iv元素上添加了動(dòng)畫,但是實(shí)際執(zhí)行動(dòng)畫的元素卻是p
有意思吧,原因就在于,fx.elem = $("p"); ?將參與動(dòng)畫的元素改變成了$("p")
step的回調(diào)函數(shù)fx,還添加了很多屬性,可以參考jQuery的API文檔:http://www.css88.com/jqapi-1.9/animate/
不過progress的回調(diào)函數(shù)fx,就沒有這么多花樣了,因?yàn)樗祷氐木褪莿?dòng)畫進(jìn)度本身,也就是返回當(dāng)前的進(jìn)度值。代碼如下:
123456 $(
"div"
).animate({left:100},{
????
duration:1000,
????
progress:
function
(now,fx){
????????
console.log(
"當(dāng)前進(jìn)度值:"
+arguments[1]);
????
}
})
另外要說明的是:step 函數(shù)只能返回我們?cè)诖a中設(shè)置的最后一條CSS屬性值,如:
123456789101112 $(
"div"
).animate({
????
left:100,
????
opacity:0.2
????
},{
????
duration:1000,
????
step:
function
(now,fx){
????????
console.log(
"返回的CSS屬性是:"
+fx.prop);
????????
console.log(
"屬性初始值:"
+fx.start);
????????
console.log(
"屬性結(jié)束值:"
+fx.end);
????????
console.log(
"屬性當(dāng)前值:"
+fx.now);
????
}
})
以上代碼只能返回 opacity 屬性的相關(guān)值,而無法返回left的值,雖然這個(gè)值也參與了動(dòng)畫效果
查看全部 -
1問:noww和fxx接收的是哪兩個(gè)參數(shù),沒有定義fxx這個(gè)函數(shù)啊。是怎么調(diào)用的?
2問:arguments[1]的值是怎么來的?改成arguments[2]顯示的數(shù)值又什么值?改成arguments[3]后顯示undefined說明數(shù)組里面只有三個(gè)值,這三值分別是什么
noww接收的是每次動(dòng)畫時(shí)height的值,fxw是指每個(gè)動(dòng)畫的每一步完成之后要執(zhí)行的函數(shù). step自動(dòng)執(zhí)行的這個(gè)函數(shù).
?arguments對(duì)象是比較特別的一個(gè)對(duì)象,實(shí)際上是當(dāng)前函數(shù)的一個(gè)內(nèi)置屬性。arguments非常類似Array,但實(shí)際上又不是一個(gè)Array實(shí)例.arguments對(duì)象的長(zhǎng)度是由實(shí)參個(gè)數(shù)而不是形參個(gè)數(shù)決定的。形參是函數(shù)內(nèi)部重新開辟內(nèi)存空間存儲(chǔ)的變量,但是其與arguments對(duì)象內(nèi)存空間并不重疊.
也就是說此時(shí)的arguments[1]代表的是progress的進(jìn)度,而它是從0-1的,0代表開始,1代表結(jié)束
查看全部 -
fx在這里相當(dāng)于函數(shù)本身 你可以理解為this
查看全部 -
step:規(guī)定每個(gè)動(dòng)畫的每一步完成之后要執(zhí)行的函數(shù)
progress:每一次動(dòng)畫調(diào)用的時(shí)候會(huì)執(zhí)行這個(gè)回調(diào),就是一個(gè)進(jìn)度的概念
查看全部 -
注意:CSS 樣式使用 DOM 名稱(比如 "fontSize")來設(shè)置,而非 CSS 名稱(比如 "font-size")。
查看全部 -
var $aaron = $("#aaron"); 這句的意思:
就是將dom元素轉(zhuǎn)化為jQuery對(duì)象,使之能用jQuery中的各種方法函數(shù),如果不轉(zhuǎn)化就無法使用jquery
查看全部 -
jQuery只包含了兩個(gè)緩動(dòng)方法:swing和linear。linear方法提供了一個(gè)穩(wěn)定的動(dòng)畫,以使得動(dòng)畫的每個(gè)步驟都是相同的(例如,如果要讓一個(gè)元素以逐漸變化的方式穿過屏幕,每一步的距離和前一步都是相同的)。swing要更加動(dòng)態(tài)一些,隨著動(dòng)畫的開始變得更加快一些,然后再慢下來。swing是一個(gè)常用設(shè)置,因此,如果沒有指定任何緩動(dòng),jQuery會(huì)使用swing方法。
只是兩個(gè)代表不同動(dòng)畫過程的參數(shù)而已。如果你需要查看更多的動(dòng)畫,jq有個(gè)專門的動(dòng)畫庫(kù)。
查看全部 -
操作元素的顯示和隱藏可以有集中方法:
例如:1)、改變樣式display為none;
? ? ? ? ? 2)、設(shè)置位置高度為0;
? ? ? ? ? 3)、設(shè)置透明度為0;
上述三種方法都能達(dá)到元素隱藏/顯示的目的;
而針對(duì)這樣的處理,jQuery提供了以下的方法:show/hide,slidedown/slideup、fadein/fadeout。除此之外,還引入了toggle:切換顯示與隱藏效果、 ? ? ? ? ? ? ? ? ? ? ? ? ? ?slidetoggle:切換上下拉卷滾效果、 ? ? ? ? ? ? ? ? ? ? ? ? ? ?fadetoggle:切換淡入淡出效果
這三種切換方法。
查看全部 -
回調(diào)函數(shù)的 會(huì)執(zhí)行兩次
有兩個(gè)p元素,所以執(zhí)行兩次回調(diào)函數(shù),(可以刪掉一個(gè)p試一試)
duration都可以傳入什么參數(shù)(除時(shí)間數(shù)值外)
:"slow", "normal", or "fast" ??
查看全部 -
fadeOut在淡出過程中不改變高度和寬度, 但是淡出結(jié)束后元素會(huì)隱藏, 隱藏之后就不占空間
查看全部 -
異步和同步最初是從進(jìn)程工作的概念里面延伸出來的。在進(jìn)程里面,有進(jìn)程之間相互工作相互協(xié)作的情況發(fā)生。比如,有兩進(jìn)程A和B,進(jìn)程A和進(jìn)程B相互獨(dú)立,互不干擾。他們各自獨(dú)立工作,各干各的,兩者之間的任何操作都不會(huì)對(duì)彼此產(chǎn)生影響,這就是異步操作;而同步呢?假設(shè)這個(gè)時(shí)候有個(gè)作業(yè),需要進(jìn)程A和B一起協(xié)作完成,因此為了能順利完成這個(gè)作業(yè),進(jìn)程A和進(jìn)程B就必須要相互制約,相互通信協(xié)作。比方進(jìn)程A完成了某個(gè)事情后通知進(jìn)程B才能繼續(xù)接下來的任務(wù),而有些工作進(jìn)程B完成后也要通知進(jìn)程A才能繼續(xù)它接下來的任務(wù)。因此這就叫同步。
簡(jiǎn)單來說,就是打電話(同步)和發(fā)信息(異步)的區(qū)別
查看全部
舉報(bào)