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