更改chain-JavaScript中的css属性
我使用的是MooTools 1.4.5,我想在调用需要一些时间的函数之前更改游标,并在完成相同的函数之后将游标设置为默认值。我没有成功 在那之后,我做了一个简单的例子,通过纯JavaScript(没有jQuery或MooTools插件)更改背景颜色,但再次失败 这是我的密码更改chain-JavaScript中的css属性,javascript,css,mootools,Javascript,Css,Mootools,我使用的是MooTools 1.4.5,我想在调用需要一些时间的函数之前更改游标,并在完成相同的函数之后将游标设置为默认值。我没有成功 在那之后,我做了一个简单的例子,通过纯JavaScript(没有jQuery或MooTools插件)更改背景颜色,但再次失败 这是我的密码 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> &l
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
<script type="text/javascript">
<!--
document.body.style.background = 'red';
setTimeout(function () { }, 1250);
document.body.style.background = 'yellow';
//-->
</script>
</html>
首先,我将背景色设置为红色,然后延迟设置为黄色。我假设背景色将设置为红色,延迟后设置为黄色。它不起作用。加载页面时,背景色为黄色(最后一行)。如果我在设置背景色的行中间插入警报函数,一切正常(背景色为红色,单击消息框,背景色为黄色)。
为什么会这样?只影响最后更改的样式。我需要这样的东西来在调用函数之前更改指针,这需要10秒的时间,并在函数完成后将游标设置为默认值。并不意味着“等待”。它调用您稍后给它的函数。执行流程立即继续:
document.body.style.background = 'red';
setTimeout(function () {
document.body.style.background = 'yellow';
}, 1250);
因此,这也适用于:
setTimeout(function () {
document.body.style.background = 'yellow';
}, 1250);
document.body.style.background = 'red';
对于游标,只需将
.background='red'
替换为.cursor='wait'
和.background='yellow'
替换为.cursor='default'
document.body.style.cursor = 'wait';
setTimeout(function() {
doSomethingExpensive();
document.body.style.cursor = 'default';
}, 10);
setTimeout()
的第一个参数是回调函数,在延迟后会调用回调函数,应该使用这种代码:
document.body.style.background='red';
document.body.style.cursor='wait';
setTimeout(函数(){
document.body.style.background='黄色';
document.body.style.cursor='default';
}, 1250);代码>
body{
宽度:100%;
身高:100%;
}
Lorem ipsum door sit amet,一位杰出的领导者。我不知道。托托尔议员、艾米特议员、全国选举委员会主席、尤里西斯·塞德议员、多洛议员。乌尔特里斯元素直径。梅塞纳斯·利古拉·马萨、瓦里乌斯·阿雷乌斯、森佩尔·康格、尤伊斯莫·农、密苏里州。在培养基中,培养基必须为非发酵分子,培养基必须为非发酵直径。杜伊斯·森佩尔。两人一组,一人一组,一人一组,一人一组,一人一组。佩伦茨克康格。但在里苏斯,他是一个自由的临时法雷特拉人。从前庭到前庭。佩德中的列奥。普雷森特·布兰迪特·奥迪奥·欧·埃尼姆。佩伦茨克酒后驾车和奥古斯·布兰迪特汽水。虎口浮雕和肘部浮雕同侧前庭;阿利夸姆尼布。Mauris ac Mauris sed pellentesque发酵罐。Maecenas Adipising ante non diam sodales hendrerit。Lorem ipsum dolor sit amet,是一位杰出的献身者。我不知道。托托尔议员、艾米特议员、全国选举委员会主席、尤里西斯·塞德议员、多洛议员。乌尔特里斯元素直径。梅塞纳斯·利古拉·马萨、瓦里乌斯·阿雷乌斯、森佩尔·康格、尤伊斯莫·农、密苏里州。在培养基中,培养基必须为非发酵分子,培养基必须为非发酵直径。杜伊斯·森佩尔。两人一组,一人一组,一人一组,一人一组,一人一组。佩伦茨克康格。但在里苏斯,他是一个自由的临时法雷特拉人。从前庭到前庭。佩德中的列奥。普雷森特·布兰迪特·奥迪奥·欧·埃尼姆。佩伦茨克酒后驾车和奥古斯·布兰迪特汽水。虎口浮雕和肘部浮雕同侧前庭;阿利夸姆尼布。Mauris ac Mauris sed pellentesque发酵罐。Maecenas Adipising ante non diam sodales hendrerit。Lorem ipsum。
setTimeout()
不会暂停执行,只会延迟函数内的代码。它可以工作!但是如何改变光标呢?伪代码:this.setCursor(“wait”);函数(){//something};本文件为.setCursotr(“默认”);其中函数的执行需要10秒。对于游标,使用document.body.style.cursor='wait'代码>我尝试设置为等待,但始终影响最后一个订单。“总是”是默认值,尽管函数需要10秒。“我尝试设置为等待,但总是影响最后一个订单。”-我也不知道你的意思。对我来说,此代码执行您正在搜索的操作: