javascript - 我怎样才能使这个活跃的点击?
问题描述
var span = document.getElementById('loading_dots');
var int = setInterval(function() {
if ((span.innerHTML += '●').length == 4)
span.innerHTML = '';
}, 400);
(function(){
var loading_dots = document.getElementById("loading_dots"),
show = function(){
loading_dots.style.display = "block";
setTimeout(hide, 5000); // 5 seconds
},
hide = function(){
loading_dots.style.display = "none";
};
show();
})();
我怎样才能使它在单击按钮时开始加载点,并在每次单击按钮时重新激活?底部功能是在 5 秒后停止它,也许可以将其合并为一个功能?
需要为 3 个单独的按钮工作并在单击每个按钮时重新启动,还需要在<span class="loading_dots" id="loading_dots"></span>
任何方法中显示,css、jquery 或 javascript
解决方案
这是一个 jQuery 版本:
(function ( $ ) {
$.fn.loader = function( options ) {
var settings = $.extend({
text:"●",
spn: undefined
}, options );
$.each(this, function(){
var btn = this;
var int;
var spn;
if (settings.spn === undefined) {
spn = $("<span/>" , { "class":"loading_dots" });
$(btn).append(spn);
} else {
spn= $(settings.spn);
}
var show = function(){
btn.setAttribute("disabled", "disabled")
clearInterval(int);
spn.show();
int = setInterval(function() {
if ((spn[0].innerHTML += settings.text).length == 4)
spn.html("");
}, 400);
setTimeout(hide, 5000); // 5 seconds
}
var hide = function (){
spn.hide();
btn.removeAttribute("disabled", "disabled")
clearInterval(int);
}
btn.addEventListener("click", show);
});
};
}( jQuery ));
// now bind it by its class, this only need to be run once every time new button is added to the html
$(".btn").loader({spn:".loading_dots"});
// and you could also specify the text by
// $(".btn").loader({text: "*"});
.loading_dots {
color:red;
display:none;
width:100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<span class="loading_dots"></span>
<button class="btn" type="button" >
submit
</button>
<button class="btn" type="button" >
submit
</button>
</div>
推荐阅读
- javascript - Tomcat 的 Angular URL 子路径问题
- c# - Intellisense for C# 在 ASP.net 项目中不起作用 视觉工作室 2017
- android - 迁移到 Android API 28 后的 NoClassDefFoundError
- microservices - 在微服务中使用共享读取数据库
- c - 为什么我的变量值被删除?
- javascript - Javascript:如何访问嵌套对象内的函数的类属性
- selenium - 为什么我在 selenium 相对 xpath 中出现语法错误?
- python - PIL: Image.fromarray(img.astype('uint8'), mode='RGB') 返回灰度图像
- java-8 - 致命警报:Java 8 上的协议版本
- excel - 验证文件夹选择