Javascript 在单击时对 setInterval 不起作用
Javascript on click not working for setInterval
我有以下代码 -
<html>
<head>
<title>Rebound</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function ShowRandom() {
var $span = $(".random");
var oldTop = 0;
var oldLeft = 0;
var leftPos = 10;
var topPos = 10;
var flag = true;
$(".random").on("click", "#lion", function(event) {
alert(event.target.id);
});
$span.fadeOut(500, function() {
var maxLeft = $(window).width() - $span.width();
var maxTop = $(window).height() - $span.height();
oldTop = topPos;
oldLeft = leftPos;
leftPos = Math.floor(Math.random() * (maxLeft + 1));
topPos = Math.floor(Math.random() * (maxTop + 1));
$span.css({ left: leftPos, top: topPos }).fadeIn(500);
});
};
ShowRandom();
setInterval(function(){
$('.random').append("<span class='lab'></span>");
ShowRandom();
}, 1500);
$('.random').delegate('.lab', 'click', function() {
$('.random').remove('.lab');
alert('single event trigger');
});
</script>
<style>
span {
display: inline-block;
position: absolute;
}
</style>
</head>
<body>
<div id="container">
<span class="random"><img src="lion.jpg" width="50px" height="50px" id="lion"></span>
</div>
</body>
</html>
当我点击图像时,我只需要一个警报框。但是我收到多个警报框。有没有办法解决它?
谢谢
因为你在每个时间间隔都不断挂接点击事件。
每个内部您添加另一个事件,它不会覆盖前一个事件。
尝试移动
$(".random").on("click", "#lion", function(event) {
alert(event.target.id);
});
在 ShowRandom 函数之外。
前任:
function ShowRandom(){...};
$(function(){
$(".random").on("click", "#lion", function(event) {
alert(event.target.id);
});
ShowRandom();
setInterval(function(){
$('.random').append("<span class='lab'></span>");
ShowRandom();
}, 1500);
...
});
相关文章:
- Jquery:输入类型=“”;按钮“;使用.click()函数在Internet Explorer和Safari中不起作
- 如何选择数组中的第一个对象(当 array[0] 不起作用时)
- document.getElementById('myControl').focus() 在 PhoneGap 中不起作
- Javascript 在单击时对 setInterval 不起作用
- JQuery prop('required', false, (!$(this).is(':checked')) 不起作
- 为什么从 JavaScript 调用 Flash 函数可以工作,但 FileReference 在 Flash 中不起作
- 返回函数中的 setInterval 不起作用
- 为什么 SetInterval 不起作用(它只工作一次)
- 捆绑和缩小 - 启用脚本不起作用时
- fb:like 当被要求登录 IE 不起作用时
- document.head.appendChild 或 document.createElement 在 IE 中不起作
- 主页链接'的背景颜色在Internet explorer中发生了变化,但在Mozilla Firefox中不起作
- HTML、PHP、JavaScript——如何为数据库中的每个单独记录制作一个按钮?看起来很简单,但事实并非如此;不起作
- 当页面请求和重载javascript函数不起作用时
- setInterval不起作用
- 在使XMLHttpRequest到服务器头(“location:index.php”)函数不起作用时
- 当getElementById不起作用时,如何查找输入字段的id
- Javascript setInterval不起作用
- 当fontWeight不起作用时,如何使HTML5字体更轻?
- 清除interval后Setinterval不起作用