没有获得正确的onclick值
not getting the right value onclick
本文关键字:onclick 更新时间:2023-09-26
我有一个滑动条和两个左右按钮每个按钮都有两个事件处理程序,如下面的代码所示。
当我点击并等待转换完成时,一切都很好,但是当我点击快速连续点击时,我得到的浮点数不是预期的精确数字(如下面的HTML所示)
这是Javascript和Jquery混合在一起:
var left = document.getElementById("left");
var right = document.getElementById("right");
var container = document.getElementById("container");
left.addEventListener("click", function(){
var marginLeft = container.style.marginLeft;
var parsedMarginLeft = parseInt(marginLeft);
console.log(parsedMarginLeft);
if(parsedMarginLeft > -800) {
$('#container').animate({marginLeft: '-=200px'}, 0);
}
});
right.addEventListener("click", function(){
var marginLeft = container.style.marginLeft;
var parsedMarginLeft = parseInt(marginLeft);
console.log(parsedMarginLeft);
if(parsedMarginLeft < 0) {
$('#container').animate({marginLeft: '+=200px'}, 0);
}
});
这是点击后我得到的html:
<div id="container" style="width: 1800px; margin-left: -127.879px;">
</div>
你可以使用:animated选择器作为事件监听器的第一行来测试容器div是否正在运行animation:
var left = document.getElementById("left");
var right = document.getElementById("right");
var container = document.getElementById("container");
left.addEventListener("click", function(){
if ($('#container:animated').length == 0) {
var marginLeft = container.style.marginLeft;
var parsedMarginLeft = parseInt(marginLeft);
console.log(parsedMarginLeft);
if(parsedMarginLeft > -800) {
$('#container').stop().animate({marginLeft: '-=200px'}, 0);
}
}
});
right.addEventListener("click", function(){
if ($('#container:animated').length == 0) {
var marginLeft = container.style.marginLeft;
var parsedMarginLeft = parseInt(marginLeft);
console.log(parsedMarginLeft);
if (parsedMarginLeft < 0) {
$('#container').animate({marginLeft: '+=200px'}, 0);
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="left">left</button>
<button id="right">right</button>
<div id="container" style="width: 1800px; margin-left: 0px;background-color: red;">
aaaaaaaaaaaaaaaaa
</div>
相关文章:
- 如何在执行此特定onclick事件时执行JavaScript函数
- Setting default onclick behavior for <img> tag in gene
- Javascript全局onclick监听器
- 如何调用“;链接_;在onclick事件上使用Javascript
- onclick函数需要双击,因为类分配延迟
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 使用onclick绘制SVG路径
- 如何将数据从onclick按钮传递到变量
- 选择onclick事件jquery
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 如何刷新列表框内容onclick或blur事件
- OnClick/Onhover Javascript/jquery
- 执行php函数的onclick事件的其他替代方案
- Javascript onclick函数会立即调用(而不是在单击时调用)
- 动态创建OnClick事件Javascript
- onclick风格的整个李不想要
- jquery Onclick函数带有导致双击的回调排序函数
- 使用element简化onclick函数
- 将函数从onclick修改为onload
- 在React中,为什么我必须绑定onClick函数而不是调用它