看板 Ajax 關於我們 聯絡資訊
※ 引述《TonyQ (自立而後立人。)》之銘言: : ◆ From: 114.25.96.203 : ※ 編輯: TonyQ 來自: 114.25.96.203 (07/02 23:18) : → TonyQ:然後你程式碼裡面 contains 那段也超慢得,可以一樣用建表 07/02 23:20 : → TonyQ:法處理。 07/02 23:20 : → ff760725:請問建表法是...?事實上我基本是程式盲,只是把現成的 07/02 23:30 : → ff760725:拿來,用Chrome查元素之後填上去而已...可否請您開個頭, 07/02 23:31 : → ff760725:後面重複複製貼上的工作我來就好了 XDD 07/02 23:31 以這段舉例好了 var Asia = new Array(99) //india Asia [0] = $("#pvp_header > h2:contains('Andhra Pradesh')") Asia [1] = $("#pvp_header > h2:contains('Bihar')") Asia [2] = $("#pvp_header > h2:contains('Chhattisgarh')") Asia [3] = $("#pvp_header > h2:contains('Gujarat')") Asia [4] = $("#pvp_header > h2:contains('Jammu and Kashmir')") Asia [5] = $("#pvp_header > h2:contains('Jharkhand')") Asia [6] = $("#pvp_header > h2:contains('Karnataka')") Asia [7] = $("#pvp_header > h2:contains('Kerala')") Asia [8] = $("#pvp_header > h2:contains('Madhya Pradesh')") Asia [9] = $("#pvp_header > h2:contains('Maharashtra')") Asia [10] = $("#pvp_header > h2:contains('Northern India')") Asia [11] = $("#pvp_header > h2:contains('Orissa')") Asia [12] = $("#pvp_header > h2:contains('North Eastern India')") Asia [13] = $("#pvp_header > h2:contains('Rajasthan')") Asia [14] = $("#pvp_header > h2:contains('Tamil Nadu')") Asia [15] = $("#pvp_header > h2:contains('Uttar Pradesh')") Asia [16] = $("#pvp_header > h2:contains('West Bengal')") 假設 0-16 的順序對你很重要的話,可以寫成這樣 var asiamap = { 'Andhra Pradesh':0, 'Bihar':1, 'Gujarat':2, 'Jammu and Kashmir':3, 'Jharkhand':4, 'Karnataka':5, 'Kerala':6 /* 以此類推 */ }; var Asia = []; $("#pvp_header > h2").each(function(){ //這邊需要做一點字串上的判定,想辦法找出對應的字串 key, //如果這個選項內容直接就對應到字串那就可以直接做了。 var key = $(this).text(); //範例實作,可能會需要調整 var result = asiamap[key]; if ( result != null){ Asia[result] = $(this); } }); 基本上就是打索引取代搜尋,你原本這種寫法每個 selector 都需要搜遍所有 h2, 如果能只搜尋一次就把需要的東西都找回來, 那效率會從 O(n^2) 變成 O(n) 會差蠻多的。 -- 網頁上拉近距離的幫手 實現 GMail豐富應用的功臣 數也數不清的友善使用者體驗 這就是javascript 歡迎同好到 AJAX 板一同討論。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.96.203
ff760725:感謝指教,我試著改看看 07/03 00:57
ff760725:其實編號本身不重要,重要的是地名的順序,因為是照國家 07/03 01:16
ff760725:排的,我這一部分當初有找其他人協助,他說序號是必要的 07/03 01:17
ff760725:另外改了沒反應...估計是字串不對? 07/03 01:17
ff760725:http://i.imgur.com/xk9iI.png 這就是地名字串所在的位置 07/03 01:17
ff760725:這是要偵測每個戰場的地名,為之換上不同的背景和配樂... 07/03 01:19
TonyQ:你把那一頁的html dump 出來貼到 js fiddle 我在幫你作 07/03 01:42
TonyQ:sample 07/03 01:42
TonyQ:看不到html 實在是很難瞭解怎麼幫你 07/03 01:42
ff760725:http://fiddle.jshell.net/TFwNU/ 像這樣? 07/03 02:04
ff760725:不知道為何會一直redirect到show... 07/03 02:05
TonyQ:那是因為他js 裡面有去作一些判斷吧,不過這倒是沒關係啦 07/03 10:21
ff760725:感謝 <(_ _)> 07/03 13:43
ff760725:前面大致都修改完了... 07/03 23:05