簡體   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