jPlayer暂停按钮显示内联但应该是阻止

时间:2014-02-17 15:27:42

标签: jquery css jquery-ui jplayer

我使用jPlayer jquery-ui主题:http://jplayer.org/latest/demo-07

当我点击播放器上的暂停按钮时,按钮会显示“暂停”标题,并且暂停图标未显示。该图标应由jquery-ui类放置: ui-icon ui-icon-pause

在将其与上面链接中的原始内容进行比较时,我注意到在a元素中,“display:none”内联样式被display: inline替换。
在原文中,它被display: block

取代
<a title="pause" tabindex="2" class="jp-pause ui-icon ui-icon-pause" href="javascript:;" style="display: none;">pause</a>

在Firebug中修复此图标呈现正确。

那么为什么在点击暂停按钮时,我的播放器中的display: none替换为display: inline而不是display: block

我猜jPlayer使用hide()&amp;用于切换按钮的jquery show()。

3 个答案:

答案 0 :(得分:4)

我刚刚与Jplayer一起解决了同样的问题。您上面的初始评论是100%正确,jquery show()方法指定内联样式。这是修复:

  1. 访问开发者网站并下载最新的未缩小源代码 - Jplayer Download area
  2. 打开此文件jquery.jplayer.js并找到第1621行
  3. 执行以下更改
  4. 错误代码:

    this.css.jq.pause.show();
    

    更改为(工作):

    this.css.jq.pause.css("display", "block");
    

    太棒了,希望它适合你

答案 1 :(得分:1)

对我来说,这个问题是由于延迟加载样式表造成的。 确保在初始化播放器之前加载了皮肤样式。

答案 2 :(得分:0)

首先,我尝试在暂停按钮样式中添加display: block;。只有这样才能使暂停按钮在加载时闪烁。所以这不是一个好的解决方案。

使用Google搜索,我发现解决问题的一种方法是使用分部更改锚点,如下所示:

内联版本:

<a href="#" class="jp-play">Play</a>
<a href="#" class="jp-pause">Pause</a>

阻止版本:

<div class="jp-play">Play</div>
<div class="jp-pause">Pause</div>

然后暂停按钮显示为预期的块。

来源:https://karolo.com/blog/developer/jplayer-how-to-use-jplayer-to-build-your-own-mp3-player.html