2012-07-24 82 views
0

我正在寫一個自動「鍵入」一段文本的jQuery程序。我試圖讓用戶重新啓動功能「清除文本並重新啓動功能」我不知道如何做到這一點。這裏是代碼:重新啓動jQuery函數。 onClick

var char = 0; 
var caption = ""; 
var standby 

// initiate the Cursor 

$(document).ready(function() { 
    setInterval ("cursorAnimation()", 600); 
}); 

// initiate the Text 

$(document).ready(function() { 
    $('#abouttext').aboutText(); 
}); 


// The typing animation 

function aboutText() { 
    $('#abouttext').html(caption.substr(0, captionLength++)); 
    if(captionLength < caption.length+1){ 
     setTimeout("type()",50); 
    }else{ 
     captionLength = 0; 
     caption = ""; 
    } 
} 

// The Restart Button 

function restart() { 
    $('#restartbtn').click(function() { 
     var typing = $('#abouttext'); 
    } 
     typing.stop(); 



// The cursor animation 

function cursorAnimation() { 
    $('.cursor').animate({ 
     opacity : 0 
    }, "fast", "swing").animate({ 
     opacity : 1 
    }, "fast", "swing"); 
} 

我猜你必須停止功能與停止();之後重新開始整個事情。但我不知道如何。任何幫助都是極好的。 -謝謝!

回答

0

那麼由於您使用的間隔,有間隔地保存到一個更具全球範圍變量:

var typeThings = setInverval(function() { 'your func here' }, 50); 

這樣對重啓按鈕點擊,您可以:

clearInterval(typeThings); // stop the typing 
$('#abouttext').html(''); // clear original text 
callYourOriginalFunction(); // call the function again 

。希望有些幫助!