Jquery在点击时改变变量
Jquery change variable on click
对,我想发生的是,当一个按钮(或在这种情况下,一些文本)被按下,Jquery显示一个div标签,其中包含一个图像,淡出图像2秒后,然后显示一些文本。
这一切都工作得很好,但我只希望它工作一次。
我决定通过使用变量和if语句来做到这一点,因此变量从0变为1,然后由于变量被更改而无法再次单击按钮。
或者至少,这是措辞糟糕的版本。
无论如何,这就是我到目前为止所做的,但由于某种原因,变量不会在按钮被点击后从0变为1,除此之外,它工作得很好。
JS:
$(document).ready(function(){
$("#text2").css("display","none");
$("#ltt").css("display","none");
var clicked = '0';
if(clicked == 0) {
$(".clicker").click(function() {
$("#ltt").fadeIn("slow");
$('#ltt').delay(2000).fadeOut('slow');
$("#text2").delay(3000).fadeIn(1000);
$clicked = '1';
});
}
});
HTML: <div class="clicker">
click to see text
</div>
<div id="ltt">
<img src="Images/LoadingCircle.gif" width="24" height="24">
</div>
<div id="text2">
SOME TEXT
</div>
尝试在此上下文中使用.one()
,
$(".clicker").one('click', function() {
$("#ltt").fadeIn("slow");
$('#ltt').delay(2000).fadeOut('slow');
$("#text2").delay(3000).fadeIn(1000);
});
您应该使用。():
为元素的事件附加一个处理程序。对于每个事件类型的每个元素,处理程序最多执行一次。
$(".clicker").one('click',function() {
$("#ltt").fadeIn("slow");
$('#ltt').delay(2000).fadeOut('slow');
$("#text2").delay(3000).fadeIn(1000);
$clicked = '1';
});
您将变量声明为
var clicked = '0';
但是调用
$clicked = '1';
,所以你的变量不会被找到。
除了在PHP中,你不需要美元$来声明变量,它只是一个简单的拼写错误:)
这应该行得通:)
$(document).ready(function(){
$("#text2").css("display","none");
$("#ltt").css("display","none");
window.clicked = false;
$(".clicker").click(function() {
if(!window.clicked){
$("#ltt").fadeIn("slow");
$('#ltt').delay(2000).fadeOut('slow');
$("#text2").delay(3000).fadeIn(1000);
window.clicked = true;
}
});
});
相关文章:
- IF 语句不改变变量的结果
- 为什么不是'这个CanvasJS脚本动态地改变变量
- 在php中改变变量,但在javascript中相同的变量不变
- 为什么Javascript不使用onChange来改变变量?
- 添加一个DOM/SVG元素与d3 javascript库改变变量引用/范围,为什么
- 通过点击按钮改变变量的值
- 在按下键后改变变量
- JQuery改变变量/成本后点击
- Eventlistener点击不改变变量时按下
- 改变变量中的链接
- 不能让函数改变变量
- Javascript滑块动态改变变量
- 通过html按钮改变变量
- Jquery在点击时改变变量
- 不能改变变量
- 为什么我的精灵在不改变变量的情况下加速
- 在javascript的文字函数中改变变量的值
- jQuery用子元素改变变量
- 改变变量&设置日期反应原生
- Ajax文件检查成功后不改变变量