首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery .animation()函数运行两次行,但无法工作。

jQuery .animation()函数运行两次行,但无法工作。
EN

Stack Overflow用户
提问于 2016-03-25 22:00:28
回答 1查看 71关注 0票数 0

当我单击锚时,我一直在尝试使用一个函数将我的页面滚动到页面的顶部。我的jQuery脚本看起来像:

代码语言:javascript
运行
复制
$("a#drop-user-box").click(function()
                           {
  console.log("foor"); //Would return foo value once
  $("html, body").animate({scrollTop: 0}, "slow", function()
  {
    //console.log("foor"); Would return foo value twice?

    // Code doesn't work when in here
    // $(".drop-down").toggleClass('hidden');
    // $(".drop-down input[type='e-mail']:first-of-type").focus();
  });
  // Code does work when in here
  // $(".drop-down").toggleClass('hidden');
  // $(".drop-down input[type='e-mail']:first-of-type").focus();
});

animate()函数之外并在其内部执行代码段有什么不同?当下拉列表的两行位于.animate()函数中时,为什么代码不能工作呢?请解释一下这是怎么回事。

提前谢谢你,

编辑:

我该怎么做呢?:

代码语言:javascript
运行
复制
$("a#drop-user-box").click(function(e) {
	e.preventDefault();
    $("html, body").animate({
        scrollTop: 0
    }, "slow", function() {
        $('.drop-down').show();
    });
});
代码语言:javascript
运行
复制
.user-box .drop-down
{
  padding: 15px 25.5px;
	display: block;
  border: 1px solid #aaa;
	background-color: #fff;
}

.user-box .drop-down form
{
	width: 250px;
}

.space
{
  border: 1px solid #000;
  height: 900px;
}
代码语言:javascript
运行
复制
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="drop-down hidden">
  <form action="" method="post">
    <div class="form-group">
      <input type="e-mail" class="form-control text-box single-line" name="E-mail" placeholder="E-mail adres">
    </div>
    <div class="form-group">
      <input type="password" class="form-control text-box single-line" name="Wachtwoord" placeholder="Wachtwoord">
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox"> Bewaar login informatie
      </label>
    </div>
    <input type="submit" class="btn btn-default" value="inloggen">
  </form>
  <a href="#">Wachtwoord vergeten?</a>
</div>

<div class="space">

</div>

<a href="#" id="drop-user-box">Foo</a>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-26 00:08:07

它不能工作的原因是因为.show()函数没有删除“隐藏”类名。.show() & .hide()函数在style="display:block“和style="display:none”属性和属性上操作。因此,您必须更改这行HTML:

代码语言:javascript
运行
复制
<div class="drop-down hidden">

对此:

代码语言:javascript
运行
复制
<div class="drop-down" style="display:none">

那就成功了。有关演示,请参见此小提琴

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

https://stackoverflow.com/questions/36228741

复制
相关文章

相似问题

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