setInterval定時器設定開關

2022-05-23 11:00:09 字數 1092 閱讀 8019

今天簡單寫乙個小案例:點選按鈕,讓div「走」起來。主要是為了說明給定時器設定開關時需要注意的幾個問題。需求是:當點選按鈕,讓div向右一直移動,當移動到500畫素時,停下來。好了那麼簡單的布局**看一下:

css**

<

style

>

#box

style

>

html**

<

body

>

<

input

id="btn"

type

="button"

value

="按鈕"

/>

<

div

id="box"

>

div>

body

>

那麼簡單的js效果是這樣的:

<

script

>

//相容不同瀏覽器獲取行間樣式

function

getstyle ( obj, attr )

window.onload

=function

() obox.style.left

=speed +"

px";

//這裡不能是大於500,否則有可能結果是508停下了,就不是要求的500

if( speed

==500

) },50)

};};

script

>

這裡需要注意的幾個問題是:

第一,就是獲取div的樣式一定要用到getstyle,而它存在一定相容性,其解決方案上面案例有寫到,這是通用的簡單寫法;

第二,就是若是讓div在等於一定值的情況下停下來的話,一定要想清楚它移動的單位長度能否被這個值除盡,若不能,那麼就要先判斷當其大於這個值的時候要它先等於設定的這個值,然後再去賦值,給加條件讓其停止。

好了,上面的例子備註也很清楚了,當然這只是乙個很簡單的小例子,若遇到類似的問題,一定要想到這些細節!希望對大家有幫助!今天就到這裡!

Vue清除定時器setInterval優化方案

請您移步我的新個人部落格 謝謝!首先我在data函式裡面進行定義定時器名稱 data 然後這樣使用定時器 this.timer 1000 最後在beforedestroy 生命週期內清除定時器 beforedestroy 方案1有兩點不好的地方,引用尤大的話來說就是 該方法是通過 once這個事件偵...

setinterval 必報 閉包 定時器

一 什麼是閉包?有什麼作用 什麼是閉包 閉包是定義在乙個函式內部的函式,它可以訪問父級函式的內部變數。當乙個閉包被建立時,會關聯乙個作用域 父級函式的所有內部變數的集合,這個作用域不會在父級函式執行完後立即銷毀,而是永久儲存在記憶體中,直到這個閉包被銷毀,只有通過這個閉包可以訪問 操作這個記憶體中的...

spring quartz 定時器時間格式設定

0 10 10秒執行一次 0 0 12 每天中午十二點觸發 0 15 10 每天早上10 15觸發 0 15 10 每天早上10 15觸發 0 15 10 每天早上10 15觸發 0 15 10 2005 2005年的每天早上10 15觸發 0 14 每天從下午2點開始到2點59分每分鐘一次觸發 0...