javascript - 如何将一个 <div> 移到另一个 <div> 前面,然后再移回来?

标签 javascript jquery

我有两个 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/

相关文章:

javascript - 访问不存在的对象键时如何抛出错误?

javascript - 历史记录。返回并刷新

javascript - Bootstrap 固定顶部 header 的 anchor 问题

javascript - 创建图表后下拉菜单消失

javascript - 注入(inject) html 作为 API 调用 Chrome 扩展的结果

php - 我想在 $.post 中实时更新而不重新加载或刷新

javascript - 在 HTML 中调用 javascript 函数

javascript - 将对象数组中的多个属性映射到同一个数组

javascript - 如何在 Typescript 中使用 Alertify?

javascript - JSON参数获取