作者ChowMein (杉斑加纹)
看板Ajax
标题Re: [问题] 根据 if 决定叫用哪一个function
时间Thu Sep 1 18:30:12 2011
※ 引述《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
1F:→ hirabbitt:我听到蛮多人说不要用?:耶 09/09 12:58