摘要:表示此次事件前一次的狀態(tài)或,而自然表示當(dāng)前的狀態(tài),每次事件執(zhí)行時,無論狀態(tài)是否發(fā)生狀態(tài)改變,都把原先的值賦給,而則更新到最新的狀態(tài)。
在很多時候,一系列事件會觸發(fā)的很快,在這種事件中實(shí)時監(jiān)聽某個值的狀態(tài)并在某個條件下執(zhí)行其他操作,無疑會使性能變得十分狼狽。
為了方法講解的簡明易懂,我選擇jQuery的scroll事件來表述。
var wh = $(window).height(); $(document).on("scroll",function() { var sh = $(document).scrollTop(); if(sh如示例代碼所示,每次監(jiān)聽到scroll事件,都會執(zhí)行switchBlur函數(shù)。比如此時的狀態(tài)是不模糊,若sh
始終為ture,switchBlur(0)完全沒必要執(zhí)行。 下面改進(jìn)一下代碼:
var blur_px; var s1 = 0; var s2 = 0; var wh = $(window).height(); $(document).on("scroll",function() { var sh = $(document).scrollTop(); if(sh我使用s1和s2記錄兩個時刻的狀態(tài)。s1表示此次scroll事件前一次的狀態(tài)(0或1),而s2自然表示當(dāng)前的狀態(tài),每次事件執(zhí)行時,無論狀態(tài)是否發(fā)生狀態(tài)改變,都把原先s2的值賦給s1,而s2則更新到最新的狀態(tài)。可以發(fā)現(xiàn),switchBlur函數(shù)只在s1不等于s2的時候執(zhí)行,那么什么時候s1不等于s2呢?答案就是狀態(tài)發(fā)生改變的時候,s2已經(jīng)是最新的狀態(tài),此時s1保留的仍然是上一次事件執(zhí)行時的狀態(tài),當(dāng)然不相等啦。
總結(jié):此方法試用于只在狀態(tài)發(fā)生改變時才需要執(zhí)行相關(guān)代碼的情況。這里只是一個例子,可以延伸到很多需要優(yōu)化性能的地方。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/64736.html
摘要:表示此次事件前一次的狀態(tài)或,而自然表示當(dāng)前的狀態(tài),每次事件執(zhí)行時,無論狀態(tài)是否發(fā)生狀態(tài)改變,都把原先的值賦給,而則更新到最新的狀態(tài)。 在很多時候,一系列事件會觸發(fā)的很快,在這種事件中實(shí)時監(jiān)聽某個值的狀態(tài)并在某個條件下執(zhí)行其他操作,無疑會使性能變得十分狼狽。 為了方法講解的簡明易懂,我選擇jQuery的scroll事件來表述。 var wh = $(window).height(); $...
摘要:之前寫過一篇瀏覽器事件的相關(guān)操作和事件運(yùn)行的原理瀏覽器事件解析。注意,頁面從瀏覽器緩存加載,并不會觸發(fā)事件。事件有一個屬性,返回一個布爾值。此外,不支持事件,可以使用事件代替。 之前寫過一篇瀏覽器事件的相關(guān)操作和事件運(yùn)行的原理——JavaScript瀏覽器事件解析。這一篇主要寫一些常用的事件及一些可能的坑。 表單事件 鍵盤事件 當(dāng) , 的值發(fā)生變化時觸發(fā)。此外,打開 contente...
摘要:復(fù)雜性的增加使得在應(yīng)用程序生命周期的每個給定時刻都很難知道的確切狀態(tài)。概述用來監(jiān)視變動。這個被創(chuàng)建的對象有三個方法啟動監(jiān)聽用來停止觀察返用來清除變動記錄,即不再處理未處理的變動。使用瀏覽器方法,可以設(shè)置一個任務(wù),定期檢查是否發(fā)生了任何更改。 這是專門探索 JavaScript 及其所構(gòu)建的組件的系列文章的第10篇。 想閱讀更多優(yōu)質(zhì)文章請猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! ...
閱讀 2738·2021-10-11 10:57
閱讀 1569·2021-09-26 09:55
閱讀 1310·2021-09-06 15:11
閱讀 3447·2021-08-26 14:16
閱讀 662·2019-08-30 15:54
閱讀 535·2019-08-30 12:43
閱讀 3290·2019-08-29 16:18
閱讀 2565·2019-08-23 16:14