2012-04-12 58 views
1

我怎麼能包括這個varibale沒有它拍攝我一個錯誤jQuery的閃存和動態變量

變量是在瓦爾線VID

$('.playVideo').live('click',function(z){ 
      z.preventDefault();//Disable Default Method 
      var vid = $(this).attr('data'); 

....

$('#video').empty().flash({ 
    "src":"video/videoplayer-loop.swf", 
    "width":322, 
    "height":275, 
    "vars":{"image":"img/video-posterframe-product.jpg","videoLink=player/video/"+vid+".flv","hideAudio1":"false","videoVolume":"50"}, 

}); 

我得到一個

Uncaught SyntaxError: Unexpected identifier

回答

0

試圖聲明var vid任何功能

var vid; 
$('.playVideo').live('click',function(z){ 
    z.preventDefault();//Disable Default Method 
    vid = $(this).attr('data'); 
    .... 
} 
2

vid變量超出範圍,則需要要麼把這些代碼兩位在同一個函數:

$('.playVideo').live('click',function(z){ 
    z.preventDefault();//Disable Default Method 
    var vid = $(this).attr('data'); 

    $('#video').empty().flash({ 
     "src":"video/videoplayer-loop.swf", 
     "width":322, 
     "height":275, 
     "vars":{"image":"img/video-posterframe-product.jpg", "videoLink=player/video/" + vid + ".flv", "hideAudio1": "false", "videoVolume": "50"}, 
    }); 
}); 

或將代碼設置閃光燈到它自己的功能,從您的單擊處理程序調用它,傳遞vid變量:

$('.playVideo').live('click',function(z){ 
    z.preventDefault();//Disable Default Method 
    var vid = $(this).attr('data'); 
    setUpFlash(vid); 
}); 

function setUpFlash(video) { 
    $('#video').empty().flash({ 
     "src":"video/videoplayer-loop.swf", 
     "width":322, 
     "height":275, 
     "vars":{"image":"img/video-posterframe-product.jpg", "videoLink=player/video/" + video + ".flv", "hideAudio1": "false", "videoVolume": "50"}, 
    }); 
}); 

你也可以去在全球範圍內變量爲vid,但這不是最佳實踐。

+0

爲什麼你說全球宣佈'vid'不是最好的做法? – Khalizar 2012-04-12 08:02:53

+1

看到這個問題的最佳答案 - 它解釋它比我更好:http://stackoverflow.com/questions/5063878/javascript-global-variables-best-practices – 2012-04-12 08:05:38

+0

我得到錯誤未捕獲的SyntaxError:意外的標記+當嘗試上面的設置 – Tom 2012-04-12 08:27:05