如何确保在其他幻灯片功能完成之前不会发生其他 javascript/jQuery 功能?
How do I ensure that no other javascript/jQuery function doesn't happen until the other slide functions complete?
我正在处理一些涉及 jQuery 的 slideToggle 函数的工作。我在 JSFiddle 上创建了一个示例。如果您在上面,并且尽可能快地从下往上单击按钮,则无论上一张幻灯片是否完成,幻灯片都会在您单击它时发生。我想让其他按钮在幻灯片完成之前无法执行任何操作。我不想开始一系列操作,因为如果您疯狂点击,您可能需要等待一些时间。有什么建议或技巧可以帮助我吗?
我这样做是因为在我正在处理的实际网站上,每个按钮都会发生一些滑动操作。问题是多个按钮共享它动画的部分。如果有人点击太快,一些部分就会消失。我想让其他按钮在点击功能完成之前不起作用。
我在 JSFiddle 示例中切换它的代码是这个
HTML
<section id="big1" class="big">
<img class="bg-image" src="http://lorempixel.com/output/abstract-q-c-640-480-3.jpg" />
</section>
<section id="bar1" class="bar">
<a id="btn-1" href="#">Button for 1</a>
</section>
jQuery
$("#btn-1").click(function () {
$("#big1").slideToggle();
});
在 JSFiddle 中,这些重复 6 次以创建 6 个按钮。
在你的 JSfiddle 中尝试这样的事情:
//Hide all big
$(".big").hide();
var slideInProgress = false;
//Create button functions to toggle the slide open and close
$(".bar > a").click(function () {
if(!slideInProgress) {
slideInProgress = true;
$(this).parents('section').next().slideToggle(400, function() {
slideInProgress = false;
});
}
});
我正在处理一些涉及 jQuery 的 slideToggle 函数的工作。我在 JSFiddle 上创建了一个示例。如果您在上面,并且尽可能快地从下往上单击按钮,则无论上一张幻灯片是否完成,幻灯片都会在您单击它时发生。我想让其他按钮在幻灯片完成之前无法执行任何操作。我不想开始一系列操作,因为如果您疯狂点击,您可能需要等待一些时间。有什么建议或技巧可以帮助我吗?
我这样做是因为在我正在处理的实际网站上,每个按钮都会发生一些滑动操作。问题是多个按钮共享它动画的部分。如果有人点击太快,一些部分就会消失。我想让其他按钮在点击功能完成之前不起作用。
我在 JSFiddle 示例中切换它的代码是这个
HTML
<section id="big1" class="big">
<img class="bg-image" src="http://lorempixel.com/output/abstract-q-c-640-480-3.jpg" />
</section>
<section id="bar1" class="bar">
<a id="btn-1" href="#">Button for 1</a>
</section>
jQuery
$("#btn-1").click(function () {
$("#big1").slideToggle();
});
在 JSFiddle 中,这些重复 6 次以创建 6 个按钮。
在你的 JSfiddle 中尝试这样的事情:
//Hide all big
$(".big").hide();
var slideInProgress = false;
//Create button functions to toggle the slide open and close
$(".bar > a").click(function () {
if(!slideInProgress) {
slideInProgress = true;
$(this).parents('section').next().slideToggle(400, function() {
slideInProgress = false;
});
}
});