首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript显示带有动画的onclick

Javascript显示带有动画的onclick
EN

Stack Overflow用户
提问于 2013-06-28 01:39:39
回答 3查看 1.8K关注 0票数 0

我想要动画一个简单的搜索表单。在单击事件之前,它隐藏在我的修复导航栏(margin-top:-47px)后面。当用户单击搜索按钮时,我希望将表单的空白处-顶部属性设置为0px,以便在页面上显示。

jsFiddle

我正在使用这个HTML:

代码语言:javascript
复制
<nav>
  <a data-icon="search" class="search-form-toggle"></a>

...
<div class="form search-form">
                <fieldset data-icon="search">
                    <input type="search" placeholder="Search...">
                </fieldset>
            </div>

还有这个CSS:

代码语言:javascript
复制
.search-form {
    margin-top: -47px;
}

和以下javascript (jQuery):

代码语言:javascript
复制
$('.search-form-toggle').click(function(){
    if($(".search-form").css("margin-top") == "-47px") {
        $(".search-form").animate({margin-top: "0px"}, 1000);
    } else {
        $(".search-form").animate({margin-top: "-47px"}, 1000);
    }
    return false;
});

当我点击按钮时,它不工作...我猜是Javascript的问题吧?

另外,我可以在不使用jQuery的情况下实现相同的结果(很好的过渡)吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-28 02:26:45

给出的答案对我的代码调试非常有帮助。然而,当我找到animte.css时,我选择了另一种选择。它是一个CSS库,为div和其他工具提供了多种动画。

我也在使用QuoJS,我不想将jQuery添加到我的加载时间中,特别是因为我是为移动设备开发的。

下面是我的最终代码:

JS:

搜索函数(){ var document.querySelector(".search-toggle").addEventListener("click",= $$(".search- form ");

代码语言:javascript
复制
if (form.hasClass('display')) {
    form.removeClass('display');
} else {
    form.addClass('display animated flipInX');
}

});

CSS:

代码语言:javascript
复制
.search-form {
    display:none;
}

.display {
    display:block;
}

首先,我的div只有.search-form类,所以不显示它。我用addClass()函数添加了带有QuoJs的.display类。

多亏了animate.css,过渡过程非常流畅。

票数 0
EN

Stack Overflow用户

发布于 2013-06-28 01:42:56

错误出现在.animate()中,应该是:

代码语言:javascript
复制
$(".search-form").animate({'margin-top' : '0px'}, 1000);

代码语言:javascript
复制
$(".search-form").animate({margin-top: "-47px"}, 1000);

您忘记了margin-top周围的引号

这是我的工作重点,但请确保添加了附加的ajax文件

Fiddle

票数 2
EN

Stack Overflow用户

发布于 2013-06-28 01:48:40

这就是有用的小提琴。你忘了加引号了。

代码语言:javascript
复制
.animate({"margin-top": "XXpx"});

http://jsfiddle.net/5xxWu/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17349804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档