作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个 div。一个在前面,我想让后面的那个向右移动,然后回到第一个上面。我使用了 jQuery,但它会立即更改 z-index,然后继续将一个 div 向右移动并向左移动到其原始位置。这就是我尝试这样做的方式:
<!DOCTYPE html>
<html>
<head>
<style>
.block {
position: absolute;
background-color: #abc;
left: 0px;
top:30px;
width: 60px;
height: 60px;
margin: 5px;
}
.block1 {
position: absolute;
background-color: red;
left: 0px;
top:30px;
width: 60px;
height: 60px;
margin: 5px;
z-index: 999;
}
</style>
<script src="js/jquery-1.10.2.min.js"></script>
</head>
<body>
<div class="block" onmouseout="hide();"></div>
<div class="block1" onmouseover="show();"></div>
<script>
function show() {
$(".block").animate({left: '+=100px'}, 2000);
$(".block1").css('zIndex', '-10000');
$(".block").animate({left: '-=100px'}, 2000);
};
function hide() {
$(".block").animate({left: '+=100px'}, 2000);
$(".block1").css('zIndex', '10000');
$(".block").animate({left: '-=100px'}, 2000);
};
</script>
</body>
</html>
最佳答案
animate
方法是异步的。在完成第一个动画后,您必须通过向 animate
方法提供回调函数来更改 z-index:
function show() {
$(".block").animate({left: '+=100px'}, 2000, function() {
$(".block1").css('zIndex', '-10000');
$(".block").animate({left: '-=100px'}, 2000);
});
};
来自 .animate()
的文档:
.animate( properties [, duration ] [, easing ] <b>[, complete ]</b> )
complete
Type: Function()
A function to call once the animation is complete.
关于javascript - 如何将一个 <div> 移到另一个 <div> 前面,然后再移回来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17859259/
我是一名优秀的程序员,十分优秀!