我想在使用键盘的同时创建一个带有if语句的滑块,左右,上下。
我认为解决方案是if语句,但是当我点击n箭头键时,两个动画都开始了。
$(document).ready(function () {
var content_left = $('.content').css('left');
function moveLeft() {
if (content_left = "-100vw") {
console.log(content_left);
$('.content').animate({
left: "0vw"
}, 1000);
}
if (content_left = "-200vw") {
console.log(content_left);
$('.content').animate({
left: "-100vw"
}, 1000);
}
};
function moveRight() {
if (content_left = "0vw") {
$('.content').animate({
left: "-100vw"
}, 100);
}
if (content_left = "-100vw") {
console.log(content_left);
$('.content').animate({
left: "-200vw"
}, 100);
}
};
$(document).keydown(function(e){
if (e.keyCode == 39) {
moveRight();
return false;
}
if (e.keyCode == 37) {
moveLeft();
return false;
}
});
});
这是一个带有此问题的codepen的链接:
(只有左右 - 但你可以看到问题所在)
答案 0 :(得分:4)
if (content_left = "-100vw") {
您在此处设置值而不是测试它。请改用==
或===
。其余if
语句也是如此。
您还使用了过时的content_left
值。
var content_left = $('.content').css('left');
^^此行应复制到moveLeft
和moveRight
函数的开头。