JavaScript Repeater模板控件
功能强大的模板引擎大都需要对模板进行语法解析,会有性能问题。通过把一个大的模板引擎根据不同呈现需求分隔成多个互相独立模板控件,可以降低处理复杂度提供处理性能,可以根据需求灵活组合这些模板控件得到一个可以定制的模板功能库。
一个模板控件规定了它的模板语法和js api,这是一个repeater控件的JS实现:
代码 | 名称 | 最新价 | 涨跌额 | 涨跌幅 | 开盘 | 最高 | 最低 | 昨收 |
---|
<script><br/> <br/> <br/>//View<br/>(function(ns){<br/> <br/> function init(){<br/> container.setAttribute("data-headertemplate", document .getElementById("crossRateHeader").text);<br/> container.setAttribute("data-itemtemplate", document.getElementById("crossRateItem .); ById( " crossRateFooter").text);<br/> }<br/> <br/> function render(dt){<br/> headerhtml = container.getAttribute("data-headertemplate"),<br/> rowhtml = Container 。屬性("data-itemtemplate"),<br/> footerhtml = container.getAttribute("data-footertemplate");<br/> rowhtml,footerhtml);<br/> var dataRow = [];<br/> for(var i = 0,n=dt.length; i<n; i++){<br/> dataRow = dt[i].split(",");<br/> repater.parse(); }<br/> container.innerHTML = repater.toHTML();<br/> }<br/> <br/> render: render, <br/> 函數(data: ){ <br/> ns.crossRate.init();<br/>}(window));<br/> <br/> <br/>//非同步取得資料渲染資料data<br/>var datas = ["USDEUR0,USDEUR,美元歐元,0.7731,0.7732,0.7723,0723,0732,0.723,0732,0.743,0732,0.723,0732,0.723,0732,0.723,0732,0.723,0. ,22913,0.0000,0,0,0.7731,0.0000,0,0,-0.0008,-0.10%,0.0000,1,3848,0,-1,1,0.0000,0.0000,2012-13: 4013: 53,3","USDHKD0,USDHKD,美元港幣,7.7625,7.7633,7.7621,7.7634,7.7617,0,14208,0.0000,0,0,7.7625,0.00. 2,2062,0,-1,0,0.0000,0.0000,2012-05-10 13:49:49,3","USDJPY0,USDJPY,美元日圓,79.71,79.73,79.62,79.77,79.77,79.62,79.77,79. 25489,0.00,0,0,79.71,0.00,0,0,-0.09,-0.11%,0.00,1,4307,0,-1,-1,0.00,0.00,2012-05-10 13:50: 13,3"," 美元瑞郎0, 美元瑞郎, 美元瑞郎,0.9285,0.9287,0.9276,0.9289,0.9266,0,29637,0.0000,0,0,0.9285,0,29637,0.0000,0,0,0.9285,0.000,00, -0.10% ,0.0000,1,4960,0,-1,1,0.0000,0.0000,2012-05-10 13:50:02,3","GBPUSD0,GBPUSD,英鎊美元,1.6134,1.6136,"GBPUSD0,GBPUSD,英鎊美元,1.6134,1.6136,1.4136,1. ,1.6121, 0,20808,0.0000,0,0,1.6134,0.0000,0,0,0.0004,0.02%,0.0000,2,5381,0,-1,0,0.0000,0. 50:04 ,3"];<br/> <br/>//填入資料到view<br/>crossRate.fill(datas);<br/> <br/> <br/>//Repater範本_this = this ;<br/> var n = 0;<br/> _this.cache = [];<br/> _this.dic = {};<br/> '; <br/> if (headerhtml) _this.header = headerhtml;<br/> if (rowhtml) _this.row = rowhtml;<br/> if (footerhtml) _this.footer = yhtml; this.dic[ tag] = val;<br/> };<br/> <br/> _this.parse = function(dic) {<br/> this.dic,<br/> re = /{$(w+)(?:[(d+)])?(?:|(w+))?}/g,<br/>html;<br/> html = row.replace(re, function(a, b, c, d) {<br/> var <br/> return b;<br/> }🎠 }🎠 dic[b].constructor == Array) {<br/> val = dic[b][c];<br/> val = dic[b];<br/> }<br/> }<br/> }<br/> ]) {//修飾符<br/> val = (Repater[d] || window[d])(val);<br/> <br/> });<br/> _this.cache[n++] = html; <br/> 返回html; <br/> } ;<br/> <br/> _this.toHTML = function(args) {<br/> var cache = _this.cache, this.cache = [];<br/> n = 0;<br/> result = _this.header + 快取。加入(「」) + _this.footer;<br/> for (i in args) {<br/> replace("{$"+i+"}", args[i] );<br/> } <br/> }<br/> 回傳結果;<br/> };<br/>}<br/></<br/></<br/></<br/> <br/></script>

熱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)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

學習JavaScript不難,但有挑戰。 1)理解基礎概念如變量、數據類型、函數等。 2)掌握異步編程,通過事件循環實現。 3)使用DOM操作和Promise處理異步請求。 4)避免常見錯誤,使用調試技巧。 5)優化性能,遵循最佳實踐。

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

深入探討console.log輸出差異的根源本文將分析一段代碼中console.log函數輸出結果的差異,並解釋其背後的原因。 �...
