问题背景:
JSFiddle - https://jsfiddle.net/k9K5d/200/embedded/result/
我正在使用Jasny Bootsrap来开发一个' off-canvas'滑出菜单。
问题:
菜单滑出时,按下切换按钮时也会正常关闭。当通过代码使用ajax调用关闭菜单时会出现问题。
在菜单中,我有一个按钮(标记为' Click'),它进行ajax调用以将一些数据附加到div。在ajax通话的Success
方法中,我称之为Jasny' hide'应该关闭菜单的方法。
菜单确实解雇但通常是'身体'在菜单滑动之前视图正在关闭,如红色箭头所示:
守则:
以下显示我的代码,用于调用要附加到div的数据,然后关闭画布菜单:
$('#navBtn').click(function() {
var jsonData = {
"values" : ["Test1", "Test2"]
}
$.ajax({
type: 'POST',
dataType: 'json',
url: '/echo/json/',
data : { json: JSON.stringify( jsonData ) },
success: function(data)
{
var arraySize = data.values.length;
$('#arrayHolder').html(arraySize);
closeMenu();
}
});
});
function closeMenu()
{
$('.navmenu').offcanvas('hide');
}
我提供了一个JSFiddle来显示:https://jsfiddle.net/k9K5d/200/
第二次点击ajax调用时出现此问题'点击'按钮。
任何帮助解决为什么ajax调用关闭代码导致这种风格的原因都很棒。
答案 0 :(得分:0)
尝试使用.promise().done()
$('#arrayHolder').html(arraySize).promise().done(function(){
closeMenu();
});
答案 1 :(得分:0)
让你的功能像这样。工作正常。
function closeMenu()
{
$('.navbar-toggle').click()
}