use*_*440 9 jquery bootstrap-4
我正在尝试在Bootstrap Spinners中实现按钮中的bootstrap 4加载微调器 。
以下是我在代码中所做的事情
my.html
<form class="form-inline" id="topicForm" action="" method="POST">
<input type="text" id="inputTopic" name="topic" class="form-control mb-2 mr-sm-2" placeholder="Topic of interest" required autofocus/>
<button type="button" id="btnFetch" class="btn btn-primary mb-2">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
my.js
$(document).ready(function() {
$("#btnFetch").click(function() {
// load data via AJAX
fetch_data($("#inputTopic").val());
// disable button
$(this).prop("disabled", true);
// add spinner to button
$(this).html(
`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>Loading...`
);
});
});
Run Code Online (Sandbox Code Playgroud)
除了没有显示bootstrap doc中显示的微调框之外,此方法有效。按钮文本将更改为Loading...预期的。想知道我对按钮内的微调器操作不正确。
Par*_*o63 17
使用4.0时,必须为此代码添加Bootstrap 4.2.1。
$(document).ready(function() {
$("#btnFetch").click(function() {
// disable button
$(this).prop("disabled", true);
// add spinner to button
$(this).html(
`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Loading...`
);
});
});Run Code Online (Sandbox Code Playgroud)
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css">
<div style="margin:3em;">
<form class="form-inline" id="topicForm" action="" method="POST">
<input type="text" id="inputTopic" name="topic" class="form-control mb-2 mr-sm-2" placeholder="Topic of interest" required autofocus/>
<button type="button" id="btnFetch" class="btn btn-primary mb-2">Submit</button>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script>Run Code Online (Sandbox Code Playgroud)
加载的 CSS 库中似乎不存在微调 CSS。请尝试以下代码
在 CSS 中
@keyframes spinner-border {
to { transform: rotate(360deg); }
}
.spinner-border{
display: inline-block;
width: 2rem;
height: 2rem;
vertical-align: text-bottom;
border: .25em solid currentColor;
border-right-color: transparent;
border-radius: 50%;
-webkit-animation: spinner-border .75s linear infinite;
animation: spinner-border .75s linear infinite;
}
.spinner-border-sm{
height: 1rem;
border-width: .2em;
}
Run Code Online (Sandbox Code Playgroud)
在JS中
$(document).ready(function() {
$("#btnFetch").click(function() {
$(this).prop("disabled", true);
$(this).html(
`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>Loadingg...`
);
});
});
Run Code Online (Sandbox Code Playgroud)
小智 6
这对我有用。它将原始文本/html 存储为一个属性并从那里恢复它。
$(document).ready(function() {
$("#btnFetch").click(function() {
var $this = $(this);
//Call Button Loading Function
BtnLoading($this);
//Call Button Reset Function after AJAX or your code execution
BtnReset($this);
});
});
function BtnLoading(elem) {
$(elem).attr("data-original-text", $(elem).html());
$(elem).prop("disabled", true);
$(elem).html('<i class="spinner-border spinner-border-sm"></i> Loading...');
}
function BtnReset(elem) {
$(elem).prop("disabled", false);
$(elem).html($(elem).attr("data-original-text"));
}
Run Code Online (Sandbox Code Playgroud)