繁体   English   中英

Javascript / JQuery:如何重新定义?

[英]Javascript/JQuery: How to redefine something?

请原谅我的“外行语言”,但是我整天都在为此工作。 我几乎完成了对此的自定义设置,但是似乎无法解决这个问题。 我正在使用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">... ),而是在页面上某处有一个div,我想将其作为“新“ oPosition<div class="my_new_position_div">... )。

因此,简而言之,我想使用my_new_position_div作为进度条,而不是其他div。

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

完整的Soundmanager脚本: page_player.js

我已经删除了以前的答案。 我意识到在发布后一秒钟内将无法正常工作。 原因是因为_data属性仅在handleClick事件中首次需要时设置(这是非常糟糕的编码)。 我希望我能找到一种使脚本尽可能完整的方法,这样您就不会陷入别人方便工作的补丁版本中。 但现在看来,除了将oPosition行替换为:

oPosition: document.getElementById('my_new_position_div');

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

我建议您围绕此修补代码放置一些大注释。 这将帮助您或其他使用此代码的人将来升级到新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM