gpt4 book ai didi

javascript - 进入 Jquery 动画函数

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:25 25 4
gpt4 key购买 nike

我正在使用 jQuery 动画中的步骤来为 CSS 转换属性设置动画。没有考虑我为动画功能保留的时间限制。我的代码是这样的

$('#instructions').animate({now:'+=50'},{
step: function(now) {
$(this).css('transform','rotate('+now+'deg)'), duration:'slow'
}
},50000);

这里我将我的 div 旋转了大约 50 度,时间跨度为 50000 毫秒,但它并没有花费这 50000 毫秒。我可以做些什么来创造那个时间跨度。提前致谢。

这是我的 HTML。

我正在使 div 像钟摆一样旋转。

<html>
<head>
<style type="text/css">
.subMenu {
width: 143px;
height: 80px;
border-bottom: 1px solid white;
line-height: 110px;
text-align: center;
font-size: 27px;
}
#line:before{
border-left: 1px solid white;
border-right: 1px solid white;
border-bottom: 49px solid white;
content: "";
position: absolute;
top: -50px;
left: 59px;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#instructions').animate({ now: '+=50' }, {
step: function(now,fx) {
$(this).css('transform','rotate('+now+'deg)');
}
},50);

$('#instructions').animate({ now: '-=100' }, {
step: function(now,fx) {
$(this).css('transform','rotate('+now+'deg)');
}
},50);
$('#instructions').animate({ now: '+=50' }, {
step: function(now,fx) {
$(this).css('transform','rotate('+now+'deg)');
}
},50);
});
</script>
</head>
<body>
<div id="menu" style="width: 43px;
height: 34px;
position: absolute;
margin: 5px;
left: 188px;
box-shadow: 4px 4px 13px white;
border: 1px solid black;
line-height: 28px;
font-weight: bold;
text-align: center;">Menu</div>
<div style="transform: rotate(0deg) scale(1, 1); display: block;
width: 1px;
height: 1px;
position: absolute;
background: white;
left: 216px;
top: 48px;" id="instructions"><div id="line" style="width: 101px;
height: 73px; position: absolute; top: 50px; left: -59px;
font-family: cursive; box-shadow: 3px 3px 23px 0px white;
padding: 12px; background: white;">
Click Here to Show/Hide the Menu</div></div>

<div id="section1" style="height: 556px;
width: 230px;
background: rgb(106, 163, 226);
float: left;
border: solid black ;
border-width: 1px 0px 1px 1px;
/* display: none; */"><div style="height: 200px;
width: 180px;
margin-left: 40px;
margin-top: 165px;
color: white;
cursor:pointer;"><div class="subMenu" style="color:black;"
id="uploadMenu">UPLOAD</div>
<div class="subMenu" id="viewMenu">VIEW</div>
<div class="subMenu" id="reportMenu">REPORT</div></div>
</div>
<div id="section2">
<div id="main_content" style="height: 556px;
width: 1080px;
background:rgb(6,206, 151);
border: solid black;

border-width:1px 1px 1px 0px ;
float: left;">
</div>
</div>
</body>
</html>

jsfiddle.net

最佳答案

您正在使用参数不正确的 .animate - 您正在尝试传递 duration options这是不存在的。您可以使用以下任一方式调用:

  • .animate( properties [, duration ] [, easing ] [, complete ] )
  • .animate(属性, 选项)

如果使用第二个版本,则需要在 options 对象中设置 duration 属性。

这个有效:

$(document).ready(function(){
var animDuration = 1000;

$('#instructions').animate({ now: '+=50' }, {
duration:animDuration,
step: function(now,fx) {
$(this).css('transform','rotate('+now+'deg)');
}
});

$('#instructions').animate({ now: '-=100' }, {
duration:animDuration,
step: function(now,fx) {
$(this).css('transform','rotate('+now+'deg)');
}
});

$('#instructions').animate({ now: '+=50' }, {
duration:animDuration,
step: function(now,fx) {
$(this).css('transform','rotate('+now+'deg)');
}
});

})
.subMenu {
width: 143px;
height: 80px;
border-bottom: 1px solid white;
line-height: 110px;
text-align: center;
font-size: 27px;
}
#line:before {
border-left: 1px solid white;
border-right: 1px solid white;
border-bottom: 49px solid white;
content:"";
position: absolute;
top: -50px;
left: 59px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="menu" style="
width: 43px;
height: 34px;
position: absolute;
margin: 5px;
left: 188px;
box-shadow: 4px 4px 13px white;
border: 1px solid black;
line-height: 28px;
font-weight: bold;
text-align: center;
">Menu</div>
<div style="
transform: rotate(0deg) scale(1, 1); display: block;
width: 1px;
height: 1px;
position: absolute;
background: white;
left: 216px;
top: 48px;
" id="instructions">
<div id="line" style="
width: 101px; height: 73px; position: absolute; top: 50px; left: -59px; font-family: cursive; box-shadow: 3px 3px 23px 0px white; padding: 12px; background: white;
">Click Here to Show/Hide the Menu</div>
</div>
<div id="section1" style="
height: 556px;
width: 230px;
background: rgb(106, 163, 226);
float: left;
border: solid black ;
border-width: 1px 0px 1px 1px;
/* display: none; */
">
<div style="
height: 200px;
width: 180px;
margin-left: 40px;
margin-top: 165px;
color: white;
cursor:pointer;
">
<div class="subMenu" style="color:black;" id="uploadMenu">UPLOAD</div>
<div class="subMenu" id="viewMenu">VIEW</div>
<div class="subMenu" id="reportMenu">REPORT</div>
</div>
</div>
<div id="section2">
<div id="main_content" style="
height: 556px;
width: 1080px;
background:rgb(6,206, 151);
border: solid black;

border-width:1px 1px 1px 0px ;
float: left;
"></div>
</div>

关于javascript - 进入 Jquery 动画函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27918744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com