當前位置:首頁 » 文件傳輸 » js上傳文件防止多次點擊
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

js上傳文件防止多次點擊

發布時間: 2023-08-28 15:40:20

Ⅰ 求JS 大神指導,頁面的防止重復點擊事件(具體見補充)

  • 可以添加標記,第一次點擊後變為false,每次點擊判斷這個標記是true才執行。

  • 如果是按鈕防止重復點擊,可以再按鈕點擊後,給按鈕添加disabled屬性。

Ⅱ html、js輪播圖怎麼阻止快速、多次點擊造成的混亂

古老的做法是用settimeout或者setinterval實現循環動畫,但是這樣就會造成題主說的,在且頁面的時候會造成混亂。

因為當頁面失去焦點時瀏覽器不再渲染頁面,但是settimeout/setinterval的請求不會停止,隊列會一直堆積動畫,當頁面再次獲得焦點時動畫隊列早已堆積了大量命令,就會導致動畫混亂。

現在的做法,籠統地說,是使用requestanimationframe函數,用法和settimeout/setinterval類似,只不過requestanimationframe不接受時間參數,函數的執行頻率由瀏覽器的渲染幀數決定,這就實現了由瀏覽器決定動畫隊列,避免了動畫混亂。當然也可以使用一些現成的輪播圖插件,題主可以自己網路,這里對比舉例說明一下settimeout和requestanimationframe的用法。

//用setTimeout實現在控制台循環輸出helloworld
functionfun(){
console.log('helloworld');
setTimeout(function(){
fun();
},3000);
}
fun();//執行fun函數,就可以每隔3000毫秒遞歸的輸出helloworld


//用reqestanimationframe實現在控制台循環輸出helloworld
functionfun(){
console.log('helloworld');
requestAnimationFrame(function(){
fun();
})
}
fun()//執行fun函數,就可以每隔3000毫秒遞歸的輸出helloworld


//requestAnimationFrame沒有時間參數,所以直接使用不能控制間隔
//但我們可以人為的限制執行間隔,方法如下
functionfun(last_time){
if(newDate().getTime()-last_time>3000){
console.log('helloworld');
requestAnimationFrame(function(){
fun(newDate().getTime());
})
}else{
requestAnimationFrame(function(){
fun(last_time)
});
}
}
fun(newDate().getTime())
//這樣就可以為requestAnimationFrame設置間隔,實現每隔3000毫秒輸出helloworld
//抱歉我主寫c副寫python偶爾寫javaweb,分號用的有些亂。