Я новичок в использовании javascript и jquery, поэтому у меня возникли проблемы с его выяснением.
Я пытаюсь использовать функцию animate в jquery для перемещения поля из одного угла в другой.
- Поле начинается в верхнем левом углу экрана и, нажав кнопку «Перейти», перемещается в следующий угол (вверху справа).
- Нажатиета же кнопка «перейти» затем перемещает блок в следующий угол (внизу справа).
- Еще раз нажав кнопку «Перейти», вы переместитесь в следующий угол (внизу слева).
- При повторном нажатии кнопки «go» она переместится в следующий угол (верхний левый угол, который является началом).
Я включил картинку, чтобы показать точночто я имею в виду под этим: Что должна делать программа!
Итак, вот что я получил:
$(document).ready(function () {
$('#go').click(function(){
var dest = parseInt($('#block').css('margin-left').replace('px', '')) + 100;
if (dest > 0) {
$('#block').animate({
marginLeft: '1800px'
}, 0 );
}
else {
$('#block').animate({
marginLeft: dest + 'px'
}, 0 );
}
});
});
#block {
width: 100px;
height: 100px;
background: red;
margin: 0px;
top: 0px;
left: 0px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="block"></div>
<button id="go">» Run</button>
У меня есть коробка для перемещения в верхний правый угол, но я не могу понять, как заставить ее теперь двигаться вниз с помощью той же кнопки,Я пробовал что-то с переключателем, но это не сработало.Это выглядело примерно так:
$(document).ready(function () {
$('#go').click(function(){
var toggle = 1
if (toggle == 1){
$("#block").animate({left: "80px"});
toggle = 0;
} else{
$("#block").animate({right: "80px"});
toggle = 1;
}
});
Я подумал, может быть, , используя кейсы для переключения между координатами, в которые кнопка переместит прямоугольник.Однако я не знаю, как это работает с jquery и функцией animate.
Если у кого-то есть какие-либо идеи или он знает, как использовать переключатели регистров в этом сценарии, я был бы очень признателен и заранее благодарен вам!
PS Я попытался найти этот ответ навот уже пару часов так и не нашел много, что мне поможет.Я надеюсь, что этот вопрос поможет другим, у которых проблема похожа на мою!