Я довольно много искал и не смог найти ответ на мой вопрос, так что вот так.
Я пытаюсь создать меню переключения слайдов с помощью этого учебника, и я получаю slideoutMenu.animate is not a function
здесь находится html div:
<div id="corner-button"><a href="#" class="slideout-menu-toggle">myLink</a></div>
<div class="slideout-menu">
<h3><a href="#" class="slideout-toggle">Toggle</a></h3>
<ul>
<li>Add new task</li>
<li>See completed tasks</li>
<li>Go to metrics page</li>
</ul>
</div>
и вот моя функция js:
$(document).ready(function(){
$('.slideout-menu-toggle').on('click', function(event){
event.preventDefault();
console.log("in the toggle func");
var slideoutMenu = $(".slideout-menu");
var slideoutMenuWidth = $(".slideout-menu").width();
console.log("width : " + slideoutMenuWidth);
slideoutMenu.toggleClass("open");
if(slideoutMenu.hasClass("open")){
console.log("open....");
slideoutMenu.animate({
left: "0px"
}, 500);
} else {
slideoutMenu.animate({
left: -slideoutWidth
}, 250);
}
});
});
Я пробовал несколько вещей, обертывая выше в рамках прямой функции javascript и используя
(function($){
// code here
})
но все они приводят к той же ошибке. Я обнаружил, что связанный с этим вопрос, связанный с этой проблемой здесь, в stackoverflow, главным образом направленным пользователям, имеет "анимацию" вместо "анимированный" или для обеспечения использования jquery obj, а не dom obj.
Просмотрено через несколько других, но они только вариации на то, что я уже сделал. протестированы в firefox и chrome.
при добавлении оператора консоли console.log($.fn.jquery);
Я получил:
3.1.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector,-deprecated
Благодарю.