-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 show360setTimeout 呼び出しを次のように変更します。

timeoutId = setTimeout(…);

function move360setTimeout 呼び出しを次のように変更します。

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 に答える