2012-11-09 47 views
0

我正在動態創建我的滑塊,並在「Slide」事件和「Stop」事件中我想調用非動態內容中定義的函數。如果我每次使用滑塊創建它們,我都可以使用這些函數來工作,但是這看起來像是很多冗餘代碼?調用動態jQuery滑塊之外的函數

非動態功能

$(document).ready(function() { 
var converSecondsToMinutes; 

convertSecondsToMinutes = function(secondsEntered){ 
    var secondsEntered = secondsEntered; 

    var time = parseInt(secondsEntered,10); 
    time = time < 0 ? 0 : time; 

    var minutes = Math.floor(time/60); 
    var seconds = time % 60; 

    minutes = minutes < 9 ? "0"+minutes : minutes; 
    seconds = seconds < 9 ? "0"+seconds : seconds; 
    var newTime = minutes+":"+seconds 
    console.log(newTime); 
    return newTime 
} 
}); 

動態jQuery的滑塊

<?php 
query... 
result... 
for(...){ 
?> 
<Script> 
$("#slider"+<?php echo $id; ?>).slider({ 
      animate: true , 
      value: 0, 
      min: 0, 
      //dynamic grab this 
      max: <?php echo $playtime_seconds; ?>, 
      step: 0.01, 
      start: function(event, ui) { 
       .... 
      }, 
      slide: function(event, ui) { 
       audio = .... 
       audio.currentTime = ui.value; 
       progress_seconds = parseFloat(audio.currentTime.toFixed(2)); 
       progress_seconds = $(function(){convertSecondsToMinutes(progress_seconds);}); 

       $('#progress_seconds'+<?php echo $id; ?>).html(progress_seconds); 

      }, 
      stop: function(event, ui) { 
       .... 
       } 
      } 

     }); 


    }); 

} 

我剪切和粘貼是對問題的重要的代碼部分。 $('#progress_seconds'+)。html(progress_seconds);這是行不行的:$('#progress_seconds'+)。

回答

1

剛纔編輯我的評論之後,讓我的評論不再是有道理的,在$(函數(){你的代碼的一部分是沒有必要的,儘量只使用:在代碼

progress_seconds = converSecondsToMinutes(progress_seconds); 

和拼寫錯誤。是一個真正的問題與我,CONVER具有在末

也沒有必要換你的函數$(文件)。就緒(),其聲明如下:

function convertSecondsToMinutes(secondsEntered) 
{ 
    var time = ... 
    ... 
} 
+0

對不起,仍然得到這個錯誤:Uncaught Refe renceError:convertSecondsToMinutes未定義 – ImaginedDesign

+0

您是否已將其更改爲在我發佈的代碼片段和函數聲明中同時進行轉換? –

+0

是的,它只是沒有工作。感謝您的幫助。 – ImaginedDesign