我有一个链接到具有以下功能的js文件的html页面:
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>
它可能很简单,但我是新手,还没有能够解决它 - 非常感谢任何帮助 - 干杯。
答案 0 :(得分:2)
上面链接的脚本使用setTimeout
来管理动画。
要停止,您需要稍微修改一下代码并添加一个停止功能。
最简单的方法是存储每个setTimeout
调用返回的timeoutId。然后,在stop函数中,调用clearTimeout
传入存储的timeoutId。
没有做太多改变:
// Declare a global timeoutId
var timeoutId;
在function show360
中将setTimeout调用更改为:
timeoutId = setTimeout(…);
在function move360
中将setTimeout调用更改为:
timeoutId = setTimeout(…);
然后添加一个stop360函数:
function stop360() {
clearTimeout(timeoutId);
}
这将停止动画 - 基本上冻结它。如果要删除脚本所做的更改,可以将stop函数更改为以下内容:
function stop360(divContainerId) {
clearTimeout(timeoutId);
if(divContainerId) {
var o = document.getElementById(divContainerId);
o.style.backgroundImage = '';
o.style.position = "";
o.innerHTML = "";
}
}