-1

我有一个链接到具有以下功能的 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>

它可能很简单,但我是一个新手,还不能解决它 - 非常感谢任何帮助 - 干杯。

4

1 回答 1

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);
}

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

于 2013-09-11T02:23:45.697 回答