Я использую spin в веб-приложении, и он работает отлично, но в одном случае это не так.spin.js spinner не отображается
Прежде чем я сделаю вызов ajax, я вызываю функцию showLoading();
function showLoading() {
$('<div id="divSpin"></div>').appendTo(document.body);
var target = document.getElementById("divSpin");
var opts = {
lines: 13, // The number of lines to draw
length: 20, // The length of each line
width: 10, // The line thickness
radius: 30, // The radius of the inner circle
corners: 1, // Corner roundness (0..1)
rotate: 8, // The rotation offset
direction: 1, // 1: clockwise, -1: counterclockwise
color: '#000', // #rgb or #rrggbb or array of colors
speed: 1, // Rounds per second
trail: 60, // Afterglow percentage
shadow: false, // Whether to render a shadow
hwaccel: false, // Whether to use hardware acceleration
className: 'mySpin', // The CSS class to assign to the spinner
zIndex: 2e9, // The z-index (defaults to 2000000000)
top: '50%', // Top position relative to parent
left: '50%' // Left position relative to parent
};
if (mySpinner) mySpinner.spin(target);
else {
mySpinner = new Spinner(opts).spin(target);
}
}
в функции успеха я вызвать метод removeLoading:
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(jsonObject),
contentType: "application/json; charset=utf-8",
dataType: 'json',
async: async
}).success(function (data, textStatus, jqXhr) {
callback(data);
removeLoading();
});
в removeLoading я только вызвать mySpinner.stop();
Прядильщик никогда не отображается. Для вызова ajax требуется некоторое время для завершения (несколько секунд), и если я отлаживаю хром и делаю точку останова, я вижу, что спин создан, даже если я установил точку останова непосредственно в моей функции removeLoading, будет показан оборот.
ТНХ заранее
© Акси
Создать jsFiddle с проблемой. У меня такое чувство, что вы сами это разрешите, создавая. – Buzzy