0

问题背景:

JSFiddle - https://jsfiddle.net/k9K5d/200/embedded/result/

我正在使用 Jasny Bootsrap 开发“画布外”滑出菜单。

问题:

按下切换按钮时,菜单可以正常滑出并且也可以正常关闭。当通过代码使用 ajax 调用关闭菜单时,问题就出现了。

在菜单中,我有一个按钮(标记为“单击”),它进行 ajax 调用以将一些数据附加到 div。在Successajax 调用的方法中,我调用了一个应该关闭菜单的 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 调用会导致这种风格会很棒。

4

2 回答 2

0

尝试使用.promise().done()

$('#arrayHolder').html(arraySize).promise().done(function(){
   closeMenu();
});
于 2015-12-27T15:51:38.960 回答
0

使您的功能像这样。工作正常。

function closeMenu()
{
     $('.navbar-toggle').click()
}
于 2017-03-10T00:01:49.827 回答