Re: [問題] 根據 if 決定叫用哪一個function
※ 引述《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
→
09/09 12:58, , 1F
09/09 12:58, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 8 篇):