javascript - jQuery 函数放置

标签 javascript jquery

好吧,我最近开始学习 jQuery,但是我在使用 jQuery 网站上的一个小动画程序时遇到了问题。 所以问题就在这里。该程序的工作原理:

<HTML>
<HEAD>
<script type="text/javascript" src="javascript/jQuery-1.7.1.min.js"></script>

<STYLE type="text/css">

#content {
    background-color:#6688ff;
    position:absolute;
    width:100px;
    height:100px;
    padding:3px;
    margin-top:5px;
    left: 100px;
}
</STYLE>
</HEAD>
<BODY>
<input type="button" id="left" value="Left"/>
<input type="button" id="right" value="Right"/>
<div id="content">Move</div>
<script type="text/javascript">
$("#right").click(function() {
    $("#content").animate(
            {"left": "+=50px"},
            "slow");
});
$("#left").click(function() {
    $("#content").animate(
                {"left": "-=50px"},
            "slow");
});
</script>

</BODY>
</HTML>

但是这个程序没有:

<HTML>
<HEAD>
<script type="text/javascript" src="javascript/jQuery-1.7.1.min.js"></script>

<script type="text/javascript">
$("#right").click(function() {
    $("#content").animate(
            {"left": "+=50px"},
            "slow");
});
$("#left").click(function() {
    $("#content").animate(
                {"left": "-=50px"},
            "slow");
});
</script>

<STYLE type="text/css">

#content {
    background-color:#6688ff;
    position:absolute;
    width:100px;
    height:100px;
    padding:3px;
    margin-top:5px;
    left: 100px;
}
</STYLE>
</HEAD>
<BODY>
<input type="button" id="left" value="Left"/>
<input type="button" id="right" value="Right"/>
<div id="content">Move</div>


</BODY>
</HTML>

这两个程序之间的唯一区别是我放置 javscript 的位置,所以有人可以解释一下为什么这会产生影响吗?谢谢,因为这让我很困惑。

最佳答案

当第二个 jQuery 代码块运行时,文档尚未准备好,因此它不起作用。

始终将 jQuery 代码包装在 $(document).ready() 语句中:

$(document).ready() {
  $("#right").click(function() {
    $("#content").animate({"left": "+=50px"}, "slow");
  });

  $("#left").click(function() {
    $("#content").animate({"left": "-=50px"}, "slow");
  });
});

您的第二个代码块是正确的。

关于javascript - jQuery 函数放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9450937/

相关文章:

javascript - 如何禁用 Bootstrap 按钮,直到输入填充并单击按钮?

javascript - 使用间隔更新 d3 数据

javascript - Jquery计算所有文本框的总和(加减)

javascript - 在 mouseover/mouseout 事件中使用 $this 关键字声明变量

javascript - 代码适用于不同于单个 html 文件的堆栈片段

javascript - 如何使用输入 radio 正确验证表单?

javascript - 在这种情况下,为什么 "This"确实充当 JavaScript 函数中的私有(private)成员?

javascript - 在窗口调整大小时更改 CSS 会破坏 CSS

在使用 RequireJS 的上下文中,Jquery 工具提示与 Bootstraps 冲突

javascript - 如何从给定对象以指定方式获取构造对象