Javascript Can';t同时使用ajax POST和jquery动画(使用引导)
我使用的是带有侧边栏的,当用户单击Javascript Can';t同时使用ajax POST和jquery动画(使用引导),javascript,jquery,node.js,ajax,bootstrap-4,Javascript,Jquery,Node.js,Ajax,Bootstrap 4,我使用的是带有侧边栏的,当用户单击.nav menu(或模板中的公司名称)时,侧边栏将隐藏/取消隐藏 $(document).ready(function () { $( '.nav-menu' ).click(function() { event.preventDefault(); if($( '.nav-menu-item' ).is(":visible")){ $('.nav-menu-item' ).hide('s
.nav menu
(或模板中的公司名称)时,侧边栏将隐藏/取消隐藏
$(document).ready(function () {
$( '.nav-menu' ).click(function() {
event.preventDefault();
if($( '.nav-menu-item' ).is(":visible")){
$('.nav-menu-item' ).hide('slide', {direction:'left'}, 1000);
$('#menu-item-container').addClass('sidebar-hidden');
} else{
$('.nav-menu-item' ).show('slide', {direction:'left'}, 1000);
$('#menu-item-container').removeClass('sidebar-hidden');
}
});
});
上面的代码运行良好
当我尝试包含一篇ajax文章时,问题就出现了,如下所示:
$(document).ready(function () {
$( '.nav-menu' ).click(function() {
event.preventDefault();
if($( '.nav-menu-item' ).is(":visible")){
$('.nav-menu-item' ).hide('slide', {direction:'left'}, 1000);
$('#menu-item-container').addClass('sidebar-hidden');
$.ajax({
url:'/userSettings',
type:'POST',
data:{'sidebar':'0'}
});
} else{
$('.nav-menu-item' ).show('slide', {direction:'left'}, 1000);
$('#menu-item-container').removeClass('sidebar-hidden');
$.ajax({
url:'/userSettings',
type:'POST',
data:{'sidebar':'1'}
});
}
});
});
我在我的public/js文件夹中添加了以下内容,并在页脚中添加了以下内容:
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
不确定这是否相关,但这是整个页脚:
//bootstrap required
<script src="https://cdnjs.cloudflare.com/ajax/libs/feather-icons/4.9.0/feather.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
//bootstrap required
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script src="js/dashboard.js"></script>
<script src="js/jquery.js"></script>
</body>
</html>
//需要引导
//需要引导
显示带有3个参数的hide的签名是hide(duration、easing、complete),其中easing和complete是函数。您正在传递三个参数。第一个是由jQuery使用回退处理的,但是第二个是easing,它需要一个函数,并且您已经传递了一个对象
也许它只是在添加ajax代码之前才开始工作。也许您当时也遇到了错误,但它们并没有阻止其他代码的运行。显示带有3个参数的hide的签名是hide(持续时间、缓解、完成),其中缓解和完成是函数。您正在传递三个参数。第一个是由jQuery使用回退处理的,但是第二个是easing,它需要一个函数,并且您已经传递了一个对象
也许它只是在添加ajax代码之前才开始工作。也许您当时也遇到了错误,但它们并没有阻止其他代码的运行。显示了带有3个参数的hide的签名是
hide(duration,easing,complete)
其中easing和complete是函数。您正在传递三个参数。第一个由jQuery使用回退处理,但是第二个,easing,需要一个函数,并且您已经传递了一个对象。从.hide()中删除'slide',{direction:'left'},1000
修复了它!我完全不明白为什么在我添加ajax之前它工作得很好??而且,如果你发布一个答案,我会接受它。显示带有3个参数的hide的签名是hide(duration,easing,complete)
,其中easing和complete是函数。您正在传递三个参数。第一个由jQuery使用回退处理,但是第二个,easing,需要一个函数,并且您已经传递了一个对象。从.hide()中删除'slide',{direction:'left'},1000
修复了它!我完全不明白为什么在我添加ajax之前它工作得很好??而且,如果你发布一个答案,我会接受它。
//bootstrap required
<script src="https://cdnjs.cloudflare.com/ajax/libs/feather-icons/4.9.0/feather.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
//bootstrap required
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script src="js/dashboard.js"></script>
<script src="js/jquery.js"></script>
</body>
</html>