.net 如何使Ajax加载程序跟随鼠标?

.net 如何使Ajax加载程序跟随鼠标?,.net,asp.net,jquery,ajax,dhtml,.net,Asp.net,Jquery,Ajax,Dhtml,我想在我的网站上有一些鼠标操作的东西,有点像Windows7 就像在Windows7中,当某个东西加载时,一个小圆圈出现并跟随鼠标 我正在使用jQuery库,所以我知道我可以使用Ajax开始和停止来显示它,但不知道如何让它跟随鼠标 有什么插件可以做到这一点或者如何做到这一点?你是说鼠标轨迹吗 如果是这样,您可以通过DHTML来完成。关于代码的一个好例子。这里已经回答了这个问题: 但是,由于在该过程中进行了大量计算,该解决方案可能会降低用户浏览器的速度。我建议您在CSS中使用以下技巧更改浏览器的光

我想在我的网站上有一些鼠标操作的东西,有点像Windows7

就像在Windows7中,当某个东西加载时,一个小圆圈出现并跟随鼠标

我正在使用jQuery库,所以我知道我可以使用Ajax开始和停止来显示它,但不知道如何让它跟随鼠标


有什么插件可以做到这一点或者如何做到这一点?

你是说鼠标轨迹吗


如果是这样,您可以通过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;  
}