javascript運動框架程式碼
遲到了好幾天,不好意思哈!
繼續來優化一下javascript運動框架的程式碼。
之前的程式碼有bug,重複點擊時速度會加快,那麼要怎麼解決這個bug呢?
現在我們就來解決一下,
其實很簡單,
在開始運動時,關閉已有計時器。
思考一下:如何讓很多物體同時動,而且他們至今不會互相影響呢。
1、單獨增加每個物件一個計時器
2、當滑鼠移進去寬度成長至800,當滑鼠移出時,寬度慢慢減少至原本寬度
具體程式碼如下:
###開始的位置和結束的位置都是隨機的,用JSON來傳遞多個值,那要怎麼寫呢? ### 實現想法:1、把name,target兩個形參改為json### 2、然後使用for in循環中。遍歷屬性和值。 ######在move()函數裡,把開始位置和距離。改為用json###大致就是這樣。 ### var上); ###dis[name] = json[name] - start[name];### }###
運動的時候都有快慢,有運動曲線,這要怎麼寫呢?
寫一個判斷條件,傳一個參數easing,當滿足條件時,相對應的速度快慢。
obj.timer = setInterval(function(){
n++;
for(var name in json){
var a = n/count;
switch(easing){
case 'linear':
var cur = start[name] + a*dis[name];
break;
case 'ease-in':
var cur = start[name] + Math .pow(a,3)*dis[name];
break;
case 'ease-out':
var a = 1-n/count;
var cur = start[name] + (1-Math.pow(a,3))*dis[name];
break;
}
if(name == 'opacity'){
obj.style[name] = cur;
obj.style.filter = 'alpha('+cur*100+')';
}else{
obj.style[name] = cur +'px';
}
}
當然會有預設的,有的不需要設置,預設就可以了。 onload = function(){
var oDiv = document.getElementsByTagName('p')[0];
var timer;
.樣式
if(obj.currentStyle){
return obj.currentStyle[name];//不相容於Google和火狐
}else{
//getComputedStyle:計算後的樣式
return getComputedStyle(obj,false)[name];//不相容IE8--
}
}
//complete = dur,easing,fn
function move(obj,json,complete){
clearInterval(obj.timer);
var complete = complete || {};
complete.dur = complete.dur || 1000;
complete.easing = complete.easing | | 'ease-out';
var count = parseInt(complete.dur/30);//總次數
var start = {};//{width:300,height:300}
var dis = {};
//{width:300,height:300}
for(var name in json){
start[name] = parseFloat(getStyle(obj,name)) ;
dis[name] = json[name] - start[name];
}
var n = 0;//當前步數
obj.timer = setInterval(function(){
n++;
for(var name in json){
var a = n/count;
switch(complete.easing){
case 'linear':
var cur = start [name] + a*dis[name];
break;
case 'ease-in':
var cur = start[name] + Math.pow(a,3)*dis[name] ;
break;
case 'ease-out':
var a = 1-n/count;
var cur = start[name] + (1-Math.pow(a,3) )*dis[name];
break;
}
# if(name == 'opacity'){
obj.style[name] = cur;
obj.style.filter = 'alpha('+cur*100+')';
}else{
obj.style[name] = cur +'px';
# }
}
if(n == count){
clearInterval(obj.timer)
complete.fn && complete.fn();
}
}, 30)
}
oDiv.onmouseover = function(){
move(this,{width:300,height:300},{dur:3000,easing:'ease-in'} )
}
oDiv.onmouseout = function(){
move(this,{width:50,height:50},{dur:3000,fn:function((this,{width:50,height:50},{dur:3000,fn:function(){
# ){
#d ,{opacity:0})
}})
}
# }
以上是javascript運動框架程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

評估Java框架商業支援的性價比涉及以下步驟:確定所需的保障等級和服務等級協定(SLA)保證。研究支持團隊的經驗和專業知識。考慮附加服務,如昇級、故障排除和效能最佳化。權衡商業支援成本與風險緩解和提高效率。

PHP框架的學習曲線取決於語言熟練度、框架複雜性、文件品質和社群支援。與Python框架相比,PHP框架的學習曲線較高,而與Ruby框架相比,則較低。與Java框架相比,PHP框架的學習曲線中等,但入門時間較短。

輕量級PHP框架透過小體積和低資源消耗提升應用程式效能。其特點包括:體積小,啟動快,記憶體佔用低提升響應速度和吞吐量,降低資源消耗實戰案例:SlimFramework創建RESTAPI,僅500KB,高響應性、高吞吐量

根據基準測試,對於小型、高效能應用程序,Quarkus(快速啟動、低記憶體)或Micronaut(TechEmpower優異)是理想選擇。 SpringBoot適用於大型、全端應用程序,但啟動時間和記憶體佔用稍慢。

編寫清晰全面的文件對於Golang框架至關重要。最佳實踐包括:遵循既定文件風格,例如Google的Go程式設計風格指南。使用清晰的組織結構,包括標題、子標題和列表,並提供導覽。提供全面且準確的信息,包括入門指南、API參考和概念。使用程式碼範例說明概念和使用方法。保持文件更新,追蹤變更並記錄新功能。提供支援和社群資源,例如GitHub問題和論壇。建立實際案例,如API文件。

根據應用場景選擇最佳Go框架:考慮應用類型、語言特性、效能需求、生態系統。常見Go框架:Gin(Web應用)、Echo(Web服務)、Fiber(高吞吐量)、gorm(ORM)、fasthttp(速度)。實戰案例:建構RESTAPI(Fiber),與資料庫互動(gorm)。選擇框架:效能關鍵選fasthttp,靈活Web應用選Gin/Echo,資料庫互動選gorm。

飛行相機開創者零零科技宣布推出哈浮飛行相機X1PRO與X1PROMAX,並已於北京時間8月27日凌晨在Indiegogo開啟眾籌,上線145分鐘,眾籌金額即突破百萬美金,創造了飛行相機新紀錄。兩款產品作為全球首款也是最先進的飛行運動相機,重新定義了飛行拍攝體驗,特別適合運動愛好者與專業內容創作者。哈浮飛行相機X1PRO和X1PROMAX可折疊設計,無需遙控器互動體驗。 X1PROMAX:1/1.3吋CMOS感測器,客製7層鏡頭。 8K視頻,14檔動態範圍,107°廣角視野。可自訂的ND濾鏡。 X

針對不同領域的Java框架學習路線圖:Web開發:SpringBoot和PlayFramework。持久層:Hibernate和JPA。服務端響應式程式設計:ReactorCore和SpringWebFlux。即時計算:ApacheStorm和ApacheSpark。雲端運算:AWSSDKforJava和GoogleCloudJava。
