今天簡單寫乙個小案例:點選按鈕,讓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...