2013-09-11 92 views
-1

我有一個鏈接到具有以下功能的js文件的HTML頁面:結束了javascript函數

function show360Simple(divContainerId, imageUrl) 

調用該函數上的點擊:

<area onclick="show360Simple('pContainer5','images/porch1.jpg');"> 

我想知道如何結束功能與另一個點擊:

<div id="close-div" onclick="what is the syntax here to end the above function?"></div> 

它可能很簡單,但我是一個新手,並沒有能夠wor現在還沒有 - 任何幫助都非常感謝 - 歡呼聲。

+3

我猜測,功能不相關的東西到360的東西,像動畫等,沒有看到功能,這是不可能回答這個問題。 – adeneo

+2

您是否在使用[此腳本](http://www.mind2b.com/component/content/article/9-info/2-360-panoramic-javascript-virtual-tour-free)? – dc5

+0

更重要的是,你能編輯js文件嗎? – HodofHod

回答

2

上面鏈接的腳本使用setTimeout來管理動畫。

要停止,您需要稍微修改代碼並添加停止功能。

最簡單的方法是存儲從每個setTimeout調用返回的timeoutId。然後,在停止功能中,調用clearTimeout傳入存儲的timeoutId。

未做太多改變:

// Declare a global timeoutId 
var timeoutId; 

function show360變化setTimeout調用到:

timeoutId = setTimeout(…); 

function move360變化setTimeout調用到:

timeoutId = setTimeout(…); 

然後添加一個stop360功能:

function stop360() { 
    clearTimeout(timeoutId); 
} 

Demo fiddle

這將停止動畫 - 基本上冷凍。如果你想刪除腳本所進行的更改,你可以停止功能更改爲類似這樣:

function stop360(divContainerId) { 
    clearTimeout(timeoutId); 

    if(divContainerId) { 
     var o = document.getElementById(divContainerId); 
     o.style.backgroundImage = ''; 
     o.style.position = ""; 
     o.innerHTML = ""; 
    } 
} 

Demo with Clear

+0

@ user1822445如果幫助你,請不要忘記接受dc5的答案(點擊問題左側的複選標記) –