看板 Ajax 關於我們 聯絡資訊
※ 引述《coldollsheep (加油加油^^)》之銘言: : 不好意思 問一個比較粗淺的問題 : 我做了一個按鈕 點了會有聲音 : IE 跟其他瀏覽器是採用不同的方法 : 如以下程式碼 : 可以看到我毎次點擊都必須判斷一次 : //關鍵那顆鈕 : $('#click_btn').mousedown(function (ev) : { : //1.處理音效 : if ($.browser.msie) : { : document.getElementById("soundeffect").src=soundfile; : } else : { : var _audio2 = document.createElement('audio') ; : _audio2.src = soundfile ; : _audio2.play() : } : } : ---- : 有沒有辦法變成這樣 : func1() : { : 實際內容 : } : func2() : { : 實際內容 : } : //1.處理音效 : if ($.browser.msie) : { : playsound() = func1(); <------這裡就是關鍵 我不知道怎麼弄這裡 : 觀念不好不好意思 : } else : { : playsound() = func2(); : } : //關鍵那顆鈕 : $('#click_btn').mousedown(function (ev) : { : //1.處理音效 : playsound(); : } 你可以把函數的寫法改成 var func1 = function() { 實際內容 }; var func2 function() { 實際內容 }; 二種寫法同義, 但這樣可以比較好懂, func1, func2 就是變數, 不過存的是一個函數 變數指給另一個變數, var playsound = func1; 事件可以直接給函數, 所以 $('#click_btn').mousedown( playsound ); 比較好的寫法應該是用 ?: $('#click_btn').mousedown( $.browser.msie ? function (ev) { document.getElementById("soundeffect").src=soundfile; } : function(ev) { var _audio2 = document.createElement('audio') ; _audio2.src = soundfile ; _audio2.play() } ); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.126.105
hirabbitt:我聽到蠻多人說不要用?:耶 09/09 12:58