[英]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.