javascript - JQuery - 点击动画元素

标签 javascript jquery animation hover

我正在尝试创建一些东西,您可以将鼠标悬停在框上,然后滑出应该能够单击的“选项卡”。

但是,我似乎无法弄清楚如何在将鼠标悬停在红色框上时使它保持扩展状态,以便我可以单击红色选项卡,当您将鼠标移开红色选项卡时动画会返回。

到目前为止,这是我得到的: http://jsfiddle.net/gLsWw/1/

<div class="box">
    <a class="slide"></a>
</div>

<div class="box">
    <a class="slide"></a>
</div>

$(".box").hover(function() {
    $(".slide").stop(true, false).animate({ width: "200px" });
}, function() {
    $(".slide").stop(true, false).animate({ width: "auto" });
}); 

.box {
    width: 65px;
    height: 65px;
    background-color: green;
    border: 1px blue solid;
}

.slide {
    position: absolute;
    width: 65px;
    height: 65px;
    background-color: red;
    z-index: -1;
}

提前致谢。

最佳答案

主要问题是 .slide 的 z-index 为负。您需要在没有负 z-index 的情况下进行设置才能使其正常工作。这是更新后的 CSS:

.box {
    width: 65px;
    height: 65px;
    background-color: green;
    border: 1px blue solid;
    position: relative;
}

.slide {
    position: absolute;
    width: 0;
    height: 65px;
    background-color: red;
    left: 66px;
}

除此之外,我假设您一次只希望一个红色元素滑出,而不是两个都滑出。这是更新后的 JS:

$(".box").hover(function() {
    $(this).find(".slide").stop().animate({ width: 200 });
}, function() {
    $(this).find(".slide").stop().animate({ width: 0 });
}); 

我在 JS 中更改了以下内容:

  • 向动画添加了 .stop() 以取消任何现有动画。
  • 将隐藏宽度更改为 0 以使其具有动画效果。
  • 选择器现在包含在 .find 调用中以将其限制为当前元素。

更新的 JSFiddle:http://jsfiddle.net/gLsWw/28/


或者,您可以完全使用 CSS 来完成此操作:

.box {
    width: 65px;
    height: 65px;
    background-color: green;
    border: 1px blue solid;
    position: relative;
}

.slide {
    position: absolute;
    width: 0;
    height: 65px;
    background-color: red;
    left: 66px;
    -webkit-transition: width 0.5s;
    transition: width 0.5s;
}

.box:hover .slide {
    width: 200px;
}

JSFiddle:http://jsfiddle.net/gLsWw/30/

关于javascript - JQuery - 点击动画元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24144608/

相关文章:

python - pygame动画 Sprite 表

javascript - 使用另一个属性值更改数组中对象的属性值

javascript - 从 onClick 处理程序下载 react-export-excel

jquery - 使用 jquery 禁用链接按钮( anchor 标记)

javascript - 使用 jquery/d3 动态重用模板

android - 带有数组变量的 ObjetctAnimator

javascript - 滚动 div 并从底部插入

javascript - 在 React 中创建一个保存数据的表单

jQuery - 只需绑定(bind)一个事件一次

ios - 图片查看动画