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

});

私は投げられます

Uncaught SyntaxError:予期しない識別子

4

2 に答える 2

2

変数は範囲外です。vid次の2ビットのコードを同じ関数に入れる必要があります。

$('.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が、これはベストプラクティスではありません。

于 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 に答える