0

请原谅我的“外行语言”,但我已经为此工作了一整天。我几乎完成了自定义,但我似乎无法解决这个问题。我正在使用 Soundmanager(播放列表)。脚本中有这部分内容如下:

thisSound._data = {
          oLink: o, // DOM reference within SM2 object event handlers
          oLI: oLI,
          oControls: self.select('controls',oLI),
          oStatus: self.select('statusbar',oLI),
          oLoading: self.select('loading',oLI),
          oPosition: self.select('position',oLI), // HERE IT IS
          .......

        };

(这是页面加载完成后的设置):

controlTemplate = document.getElementById("my_sounds");
controlTemplate.innerHTML = [

      // control markup inserted dynamically after each page player link
      // if you want to change the UI layout, this is the place to do it.

      '  <div class="controls">',
      '   <div class="statusbar">',
      '    <div class="loading"></div>',
      '    <div class="position"></div>', // HERE'S WHAT "oPosition" IS CONNECTING TOO
      '   </div>',
      '  </div>'

    ].join('\n');

现在,我没有使用 Soundmanager 为我设置<div class="position">...内容 oPosition<div class="my_new_position_div">...

所以,简而言之,我想把它my_new_position_div用作我的进度条而不是另一个 div。

您如何在此 Soundmanger 脚本中重新定义“oPosition”?

完整的声音管理器脚本:page_player.js

4

1 回答 1

1

我已经删除了我之前的答案。发布后我意识到这不会起作用。原因是 _data 属性仅在 handleClick 事件中第一次需要时才设置(这是非常糟糕的编码)。我希望我能找到一种方法来尽可能地保持脚本的完整性,这样你就不会被别人手头工作的补丁版本所困。但是现在似乎没有其他非侵入性的方法可以将 oPosition 行替换为:

oPosition: document.getElementById('my_new_position_div');

您还需要更改<div class="my_new_position_div"><div id="my_new_position_div">

我建议你围绕这个补丁代码发表一些重要的评论。这将帮助您或其他处理此代码的人在将来升级到较新的版本。

于 2013-09-21T06:44:30.483 回答