1

我怎样才能包含这个变量而不给我一个错误

变量在 vars 行上是 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"},

});

我被抛出

未捕获的 SyntaxError:意外的标识符

4

2 回答 2

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"},
    });
});

或者将设置 flash 的代码放入它自己的函数中,并从你的点击处理程序中调用它,传递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全局声明变量,但这不是最佳实践。

于 2012-04-12T07:59:18.973 回答
0

尝试var vid在任何函数之外声明

var vid;
$('.playVideo').live('click',function(z){
    z.preventDefault();//Disable Default Method
    vid = $(this).attr('data');
    ....
}
于 2012-04-12T07:58:39.347 回答