.net 如何使Ajax加载程序跟随鼠标?
我想在我的网站上有一些鼠标操作的东西,有点像Windows7 就像在Windows7中,当某个东西加载时,一个小圆圈出现并跟随鼠标 我正在使用jQuery库,所以我知道我可以使用Ajax开始和停止来显示它,但不知道如何让它跟随鼠标.net 如何使Ajax加载程序跟随鼠标?,.net,asp.net,jquery,ajax,dhtml,.net,Asp.net,Jquery,Ajax,Dhtml,我想在我的网站上有一些鼠标操作的东西,有点像Windows7 就像在Windows7中,当某个东西加载时,一个小圆圈出现并跟随鼠标 我正在使用jQuery库,所以我知道我可以使用Ajax开始和停止来显示它,但不知道如何让它跟随鼠标 有什么插件可以做到这一点或者如何做到这一点?你是说鼠标轨迹吗 如果是这样,您可以通过DHTML来完成。关于代码的一个好例子。这里已经回答了这个问题: 但是,由于在该过程中进行了大量计算,该解决方案可能会降低用户浏览器的速度。我建议您在CSS中使用以下技巧更改浏览器的光
有什么插件可以做到这一点或者如何做到这一点?你是说鼠标轨迹吗
如果是这样,您可以通过DHTML来完成。关于代码的一个好例子。这里已经回答了这个问题: 但是,由于在该过程中进行了大量计算,该解决方案可能会降低用户浏览器的速度。我建议您在CSS中使用以下技巧更改浏览器的光标:
cursor : url("custom.cur");
只需将光标改为标准操作系统“等待”光标之一。具有良好的选项网格和浏览器兼容性。将光标悬停在网格中的光标名称上,以查看浏览器中的示例 看起来您可能需要进度光标
mystyle { cursor: progress; }
我想我应该给这个答案加一点。我对答案的补充实际上并没有包括如何使用JQuery来实现这一点。而是介绍了如何使用ASP.NET Ajax框架。如果页面(或母版页)上有ScriptManager,则此框架将自动成为页面的一部分。这个框架是UpdatePanels和其他Ajax服务器控件为了工作而使用的框架 管理部分页面更新(ajax请求)。您可以使用这个类来实现与ajax请求相关的任何时候都应该执行的方法(比如ajax请求开始或结束,或者在发出ajax请求时发生错误) 因此,要使用Ajax.NET framework而不是JQuery实现此解决方案,请获取对PageRequestManager的引用,并实现将在PageRequestManager的beginRequest和endRequest事件期间执行的方法,以更改页面的光标样式:
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(endRequestEventHandler);
prm.add_beginRequest(beginRequestEventHandler);
function beginRequestEventHandler() {
var bodyElement = document.getElementsByTagName("body")[0];
bodyElement.style.cursor = "wait";
}
function endRequestEventHandler() {
var bodyElement = document.getElementsByTagName("body")[0];
bodyElement.style.cursor = "default";
}
</script>
var prm=Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(endRequestEventHandler);
prm.add_beginRequest(beginRequestEventHandler);
函数beginRequestEventHandler(){
var bodyElement=document.getElementsByTagName(“body”)[0];
bodyElement.style.cursor=“等待”;
}
函数endRequestEventHandler(){
var bodyElement=document.getElementsByTagName(“body”)[0];
bodyElement.style.cursor=“默认”;
}
这很简单。当页面向服务器发出Ajax请求时,PageRequestManager的“beginRequest”事件发生,您的方法将光标更改为“wait”光标(默认情况下,我认为这是Vista中的圆圈,但我不确定,也无法测试它,因为我现在正在使用XP)
当Ajax请求返回到浏览器时,PageRequestManager的endRequest事件发生,您的方法将光标更改回“default”
用户要想看到光标的变化,唯一要做的就是稍微移动鼠标(然后应用样式)。至少我在测试上述代码时注意到了FireFox中的这种行为
快乐编码
-Frinny我宁愿做得更优雅一些,就像这样:
$(function(){
$("html").bind("ajaxStart", function(){
$(this).addClass('busy');
}).bind("ajaxStop", function(){
$(this).removeClass('busy');
});
});
CSS:
来源:对于那些不喜欢Windows 7的人,你能用视频或其他东西解释一下你想要什么样的行为吗?我想他想要的只是老式的旋转计时器+光标。忘掉圆圈吧。就让它变成一群鸟吧。那太酷了。我想你可能误用了AJAX这个词。AJAX指的是通过javascript与服务器进行通信的方法,与屏幕上发生的事情无关,您可能描述的是DHTML。@Jed Smith我不知道90年代的趋势是什么,但我认为它与我所说的不同,因为很多人网站使用ajaxloader图像,我只想将其连接到鼠标上,然后放在我页面的某个位置。基本上,这只是一个jquery解决方案。我很确定它有可以做这件事的东西。嗯,光标:进度是我所想的,但我不确定如何让它一直运行。就像我看到的W3C学校,它们就像你在一个单词上徘徊一样。@chobo2,将它应用到
*
或body
?我如何使用jquery向body添加内容?啊,我在想什么lol。它只是一个html标记,我可能也可以添加样式。嗯,我唯一不喜欢的是当你浏览一个框或返回默认光标时。我希望它能在运行的时候接管所有的功能。是的,这看起来很好,因为我可以像上面所说的那样,把它放在身体标签上。它看起来也是我想要的样子。我唯一不喜欢的是,如果你像文本框一样悬停在上面,它就会消失。
html.busy, html.busy * {
cursor: wait !important;
}