0

我在这里有一个小网站模型:http: //designsweeter.com/live/tg/

我正在使用 jPlayer HTML5 音频/视频。问题是它在 wordpress 循环中,当您单击底部的循环时,顶部的循环也会启动,反之亦然。如何确保每个 jPlayer 播放自己的音频歌曲?

播放和暂停来自这个片段: $("#button .button").bind('mousedown', function() { $(this).bind('mouseleave', function() { $(this).unbind ('mouseleave'); onClick(); }); });

$("#button .button").bind('mouseup', function() {
    $(this).unbind('mouseleave');
    onClick();
});


function onClick() {        

    if(status != "play") {
        status = "play";
        $("#button").addClass( "play" );
        player.jPlayer("play");
    } else {
        $('#button .circle').removeClass( "rotate" );
        $("#button").removeClass( "play" );
        status = "pause";
        player.jPlayer("pause");
    }
};

我假设我需要使用 php 并为每个帖子 ID 设置一个变量,默认情况下在 Wordpress 中。但是如何将帖子 ID 插入到 Javascript 中,以便当我单击 #post-1 中的播放按钮时,它会播放那个 jPlayer 音频,而当我在 #post-2 中点击播放按钮时,它会播放帖子 2 音频. 它看起来像是 javascript 和 php 的可怕混合,有什么帮助吗?

ETA:新想法:

// play/pause

$('.button').click(function() {
  $(this).attr('id');
    onClick()
});


function onClick() {        

    if(status != "play") {
        status = "play";
        $(this).attr('id').addClass( "play" );
        player.jPlayer("play");
    } else {
        $(this).attr('id').removeClass( "rotate" );
        $(this).attr('id').removeClass( "play" );
        status = "pause";
        player.jPlayer("pause");
    }
};

http://designsweeter.com/live/tg/wp-content/themes/twentyten-five/js/zen.js

4

1 回答 1

1

好吧,您可以将 click 函数绑定到一个类,并且在函数中您可以检查 $(this) 变量、id 或其他内容。

例如

HTML:

<div class="button" id="button-1">A Button</div>

...

JS:

$('.button').click(function() {
  $(this).attr('id');
  ... play music of id ...
});

编辑:

$('.button').click(function() {
    onClick($(this).attr('id'));
});


function onClick(id) {        

    if(status != "play") {
        status = "play";
        id.addClass( "play" );
        player.jPlayer("play");
    } else {
        id.removeClass( "rotate" );
        id.removeClass( "play" );
        status = "pause";
        player.jPlayer("pause");
    }
};
于 2011-07-12T22:32:54.090 回答