【发布时间】:2010-10-08 08:44:01
【问题描述】:
我想向用户显示结果正在加载的状态。 如何在使用 $MyDiv.load("page.php") 将结果加载到 div 时更改光标或 gif?
【问题讨论】:
标签: javascript jquery html dom
我想向用户显示结果正在加载的状态。 如何在使用 $MyDiv.load("page.php") 将结果加载到 div 时更改光标或 gif?
【问题讨论】:
标签: javascript jquery html dom
$("body").css("cursor", "progress");
请记得事后归还:
$MyDiv.load("page.php", function () {
// this is the callback function, called after the load is finished.
$("body").css("cursor", "auto");
});
【讨论】:
loading 来解决它,我在其中设置了光标。而不是 $fnord.css(...) 我使用 $fnord.toggleClass('loading')
$("*").css("cursor", "progress") 无论您当前指向页面的哪个位置都可以使用。这样您不必移动光标即可看到它已激活。
【讨论】:
我认为最好是在css文件中设置
body.wait *, body.wait {
cursor:wait !important;
}
并在正文中添加/删除类等待
此方法覆盖输入、链接等中的所有光标。
【讨论】:
$('*').css('cursor', ...) 方法虽然有效
例子:
$("#loadImage").show();
$("#MyDiv").load("page.php", {limit: 25}, function(){
$("#loadImage").hide();
});
【讨论】:
我真的认为只在 body 元素中使用一个类是一个更好的解决方案
$('body').addClass('cursorProgress');
当你想保持它原来的样子时:
$('body').removeClass('cursorProgress');
然后在你的 css 文件中放这样的东西:
body.cursorProgress {
cursor: progress;
}
因此,使用此解决方案,您不会覆盖默认值或对光标样式所做的更改,第二个优点是您可以在 CSS 中添加重要元素。
body.cursorProgress {
cursor: progress !important;
}
【讨论】:
例如,如果您想在将鼠标悬停在缩略图上时显示更大的图像
//Hovered image
$("a.preview").hover(function(e) {
var aprev = this;
//Show progress cursor while loading image
$(aprev).css("cursor", "progress");
//#imgpreview is the <div> to be loaded on hover
$("#imgpreview").load(function() {
$(aprev).css("cursor", "default");
});
}
【讨论】:
一种更简洁的 JQuery 方法,虽然不一定有效,但它是向所有对象添加和删除繁忙的类。
请注意,并非所有浏览器(例如 Firefox)都假定最外层可视对象的高度为 100%,因此忙碌光标只会显示在屏幕的一部分上
<head runat="server">
<title></title>
<style type="text/css">
.busy
{
cursor: wait !important;
}
</style>
<script type="text/javascript" src="scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(function () {
$("#btnToggleWait").click(function (e) {
if ($(e.target).hasClass("busy")) {
$("*").removeClass("busy");
}
else {
$("*").addClass("busy");
}
e.preventDefault();
e.stopPropagation();
return false;
});
});
//]]>
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<button id="btnToggleWait">
Toggle Wait</button>
</div>
</form>
</body>
【讨论】:
看看我的解决方案,它涵盖了所有元素,而不仅仅是 body 标签: https://stackoverflow.com/a/26183551/1895428
【讨论】: