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