У меня есть ползунок и две кнопки для левой и правой У меня есть буксировочные обработчики событий для каждой кнопки, как я покажу вам в нижеследующем коде.не получает правильное значение onclick
, когда я нажимаю и ждать перехода будет завершен, Everthing работает отлично, , но когда я нажимаю быстрые последовательные щелчки, я получаю поплавок не точные цифры, как ожидается, (как показано в 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>
во время щелчка, 'контейнер. style.marginLeft' нецелое. Поэтому '+ =' целое число дает нецелое число –
Вы можете отключить кнопки во время анимации. – Mihailo