ボタンをクリックした後にJavascript関数を呼び出し、1,5秒間100ミリ秒ごとにループさせてから一時停止したい。
アイデアは、このカスタム jQuery スクロールバーを使用して、このアコーディオン スライダーにスクロール可能なコンテンツを表示できるようにすることです (他に優れたカスタム クロスブラウザー スクロールバーはありません)。
ユーザーが項目の 1 つをクリックするたびに、この関数を使用してスクロールバーを再構築する必要があります。
$(".ac-big").customScrollbar("resize")
トランジションをスムーズに実行するために、以下の例のように setInterval を使用しました。
<script type="text/javascript">
$(window).load(function () {
$(function(){
setInterval(function(){
$(".ac-big").customScrollbar("resize")
},100);
});
</script>
問題は、スクリプトが非常に多くのリソースを消費することです。これを 100 ミリ秒ごとに実行する必要はありません。ユーザーが 1 つのラジオ ボタンをクリックした後にのみ、100 ミリ秒ごとに 1.5 秒間実行したいと考えています。
ここで別の問題が発生します。アコーディオン スライダーはラジオ ボタンを使用して構築されているため、ラジオ ボタンのクリック時に JavaScript 関数を呼び出す方法は?
setTimeout と setInterval をタグに挿入しました。これは、これら 2 つの組み合わせを使用する必要があると考えているためです。必要な構成要素がすべて揃っていれば、ここで時間を無駄にすることはありません。