如下js,“在为您转接人工服务,请稍候...",为什么没有自动消失啊,而是在屏幕显示出来了?
<!DOCTYPE html>
<html>
<head>
<script src="lib/jquery-3.4.1.min.js" ></script>
<script src="lib/zepto.js" ></script>
</head>
<body>
<div class ="scroller"></div>
</body>
</html>
<script>
function insertMessageText(message, success, error) {
var content = $('<div class="l-row l-center"></div>');
content.html(message);
$(".scroller").append(content);
if ($.isFunction(success)) {
success.apply(content.get(0), arguments);
}
}
insertMessageText("<i class='mui-icon icon-tongzhi'></i>正在为您转接人工服务,请稍候...",
function() {
setTimeout(function() {
$(this).remove();
}, 2000);
})
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
的确是楼上说的 this 指向的问题。
下面这样也可以
这样还可以
问题就是因为你用function包裹了,里面的指向 windows 或者 undefined 了。
es6 方案就是箭头函数,老的方案就是 that 保存一下。
this作用域的问题吧, 可以这么写: