![](/img/trans.png)
[英]Create global variable in jQuery outside document.ready function
[英]Pass a global variable to the $(document).ready function in jQuery
我有一個站點,每個站點都有特定的字母數字ID,例如57bfab618de4191
。在jQuery播放器中,必須通過鏈接分配MP3歌曲。
jplayer函數是這樣的:
$(document).ready(function (){
function playAudio(val) {newVal=val}
$("#jquery_jplayer_1").jPlayer({
ready: function (event) {
$(this).jPlayer("setMedia", {
mp3:"http://website.com/dlb.php?file="+newVal });
},
swfPath: "js",
supplied: "mp3",
wmode: "window"
});
});
我想播放用戶列表中存在的另一首歌曲,因此我通過按鈕onClick
傳遞了歌曲ID,就像這樣
onClick="playAudio(<?php echo "'".$songid. "'"; ?>)"
其中歌曲ID是數據庫中指定歌曲的iD,例如57bfab618de4191
這樣,我可以傳遞值,但是無法將playAudio函數的參數傳遞給document.ready
函數。
var val = 'whateveer'
function playAudio(nval) {
var val = nval;
$("#jquery_jplayer_1").jPlayer({
ready: function(event) {
$(this).jPlayer("setMedia", {
mp3: "http://website.com/dlb.php?file=" + val
});
},
swfPath: "js",
supplied: "mp3",
wmode: "window"
});
}
不需要$(document).ready
如果您需要更改歌曲:
var val = '12345'; // your first song
$(document).ready(function() {
$("#jquery_jplayer_1").jPlayer({
ready: function(event) {
$(this).jPlayer("setMedia", {
mp3: "http://website.com/dlb.php?file=" + val
});
},
swfPath: "js",
supplied: "mp3",
wmode: "window"
});
});
function playAudio(nval) {
var val = nval;
$("#jquery_jplayer_1").jPlayer({
"setMedia", {
mp3: "http://website.com/dlb.php?file=" + val
}
});
// --- OR ---
$("#jquery_jplayer_1").changeAndPlay("http://website.com/dlb.php?file=" + val);
}
更多信息:
您需要使用可變作用域。
var newVal = 'default_song_to_play_if_any';
function playAudio(val){
newVal = val;
$("#jquery_jplayer_1").jPlayer("destroy");
$("#jquery_jplayer_1").jPlayer({
ready: function (event) {
$(this).jPlayer("setMedia", {
mp3:"http://website.com/dlb.php?file="+newVal
});
},
swfPath: "js",
supplied: "mp3",
wmode: "window"
});
}
//use this ready function only if you want to play a default song on load
$(document).ready(function(){
playAudio(newVal);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.