Как переключить анимацию JQuery () слева?

avatar
user4215638
8 апреля 2018 в 02:32
44
1
0

Я пытаюсь создать самый простой jquery-переключатель меню вне холста, какой только возможно. Просто простая панель, которая скользит по нажатию кнопки и скользит обратно по второму нажатию. то есть: Переключить. Есть множество способов сделать это, но я думаю, что мы должны быть в состоянии сделать это с помощью всего лишь одной строки кода. Вот почему я думаю, что это должно быть возможно:

JQuery slide() позволяет переключаться вперед и назад с помощью чего-то вроде: $("myDiv").slideToggle();

Итак, разве мы не должны сделать что-то вроде: $("myDiv").animateToggle();

или: $("myDiv").animate(Toggle);

? Я думаю, что это было бы логично, но похоже, что ничего подобного не существует.

Вы можете анимировать() в одном направлении, но не переключаться одной и той же кнопкой: $("myDiv").animate({left:"300px"});

'animate()', по-видимому, требует использования двух отдельных кнопок для переключения, а не одной.

Или, может быть, если бы функция slide() позволяла нам выбирать слева/справа вместо выбора сверху/снизу? Вы можете подделать его, анимировав ширину, но не положение. Это не оптимально, так как вы можете видеть, что содержимое сжимается по ширине.

Есть идеи?

Источник

Ответы (1)

avatar
Pablo Gonzalez
8 апреля 2018 в 03:10
0

Эй, диддиг, я дам тебе другой подход. Как насчет использования чего-то вроде animecss. Вы можете добавлять и удалять свой класс с помощью простого оператора if и метода hasClass. Итак, если $mydiv hasClass скрыть -> удалить класс Иначе addClass

user4215638
9 апреля 2018 в 02:31
0

Спасибо за предложение, Пабло. Я действительно ищу способ сделать это с помощью jquery в одну или две строки. В настоящее время я написал его с помощью jquery, но для добавления/удаления классов требуется оператор if (как вы упомянули). AnimateCSS — прекрасное решение, если вы хотите сделать это с помощью CSS, но я также могу просто написать CSS для этого. Я ценю ваше предложение, однако!