Вот, пожалуйста. на стороне HTML вы просто передаете событие нужной кнопке, а затем в виде строки span / div, где должны отображаться значки загрузки.
HTML:
<button id="btn" onclick="load(event, 'loadDiv')">Load</button>
<div>
<span id="loadDiv"></span>
</div>
Ниже мы получаем btn id из события, поэтому вам не нужно вручную передавать его каждый раз. Затем мы определяем функцию для иконок innerhtml. Наконец, мы запускаем функцию showIcon каждые 4 секунды, а затем очищаем интервал через 5 секунд.
JS:
function load(e, location) {
var btn = document.getElementById(e.srcElement.id)
var loadDiv = document.getElementById(location)
function showLoad() {
if (loadDiv.innerHTML.length < 3) {
return loadDiv.innerHTML += '●'
}
loadDiv.innerHTML = ''
}
(function() {
var loadIcons = setInterval(function() {
showLoad()
}, 400)
var clear = setTimeout(function() {
clearInterval(loadIcons)
}, 5000)
})()
}
Надеюсь, это поможет!
Невозможно реплицировать. У меня это сработало:
mysql> CALL my_sqrt(4, @out_value);
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @out_value;
+------------+
| @out_value |
+------------+
| 2 |
+------------+
1 row in set (0.00 sec)
Возможно, вам следует вставить все сообщение об ошибке, а не резюмировать его.
Вы должны использовать правильную подпись для входного параметра * IN отсутствует в приведенном ниже коде.
CREATE PROCEDURE my_sqrt(IN input_number INT, OUT out_number FLOAT)
Я знаю, что это старая ветка, но если кто-то ищет ответ о том, почему его процедуры не работают в рабочей среде, и думает, что единственный результат - это «Запрос отменен» или что-то подобное без подсказок:
вывод с ошибками или проблемами скрыт. Я не знаю почему, я понимаю, это раздражает, но оно есть. просто наведите курсор на строку над сообщением, она превратится в двойную стрелку (вверх и вниз), затем вы можете нажать и перетащить эту строку вверх, после чего вы увидите консоль с пропущенным сообщением!
Я просто попытался вызвать функцию в терминале, а не в браузере запросов MySQL и это работает. Итак, похоже, что я делаю что-то не так в этой программе ...
Я не знаю что, так как до этого я успешно вызывал некоторые процедуры (но там, где нет выходных параметров) ...
Для этой Я ввел
CALL my_sqrt(4,@out_value);
SELECT @out_value;
, и это приводит к ошибке:
У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версия вашего сервера MySQL для правильный синтаксис для использования рядом с 'SELECT @out_value 'в строке 2
Как ни странно, если я напишу просто:
CALL my_sqrt(4,@out_value);
Результат будет: «Запрос отменен»
Думаю, сейчас я буду использовать только терминал ...