jQuery 动画,缺少:属性 id 之后

发布于 2024-09-24 18:57:32 字数 785 浏览 5 评论 0原文

我有一个 HTML 文件,其中有一组带有“block”类的 div。

我希望这些在页面加载时能够滑动到位,并且我正在尝试使用 jQuery 的 animate 函数来实现此目的。然而,我对 jQuery 完全是个菜鸟,而且我在 jQuery 站点< 上的教程中遇到了一个错误。 /a> 没有帮助。

这是我的代码:

$(document).ready(function() {
    $(".block").animate( {margin-top: "1%"}, {duration: 200, queue: true} );
});

.block 样式如下所示:

div.block {
    width: 18%;
    float: left;
    margin: 1%;
    margin-top: -10%;
    min-height: 120px;
}

我在 Firebug 中收到的错误消息是:“missing : after property id”。

那么,我是如何误解这一点的,并且这是让一组块“滑入”放置的正确方法? (我希望它们能够快速连续地一次滑入一个。)

这是指向我的页面的链接正在处理,以防您需要查看。这是 JS 关闭的情况,因此您可以看到动画后块应该出现的位置。

I have an HTML file that has a set of divs with the class "block".

I'd like for these to sort of slide into place when the page loads, and I'm trying to use jQuery's animate function for this. However, I'm a total noob to jQuery, and I'm getting a bug that the tutorials at the jQuery site aren't helping with.

Here's my code:

$(document).ready(function() {
    $(".block").animate( {margin-top: "1%"}, {duration: 200, queue: true} );
});

The .block style looks like this:

div.block {
    width: 18%;
    float: left;
    margin: 1%;
    margin-top: -10%;
    min-height: 120px;
}

The error message I'm getting in Firebug is: "missing : after property id".

So, how am I misunderstanding this, and would be the right way to get a set of blocks to "slide-in" to place? (I'd ideally like them to slide in one at a time in rapid succession.)

Here's a link to the page I'm working on in case you need to see it. This is with the JS turned off so you see where the blocks should appear to be after animating.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凝望流年 2024-10-01 18:57:32

margin-top 本身在 JavaScript 中并不是有效的标识符,因此需要将其放在引号中,如下所示:

$(document).ready(function() {
    $(".block").animate( {'margin-top': "1%"}, {duration: 200, queue: true} );
});

或者 jQuery 允许您使用大写字母来表示 -,像这样:

$(document).ready(function() {
    $(".block").animate( {marginTop: "1%"}, {duration: 200, queue: true} );
});

在内部,jQuery 只是转换 "margin-top ”返回“marginTop”。作为总体建议,由于默认情况是排队,因此您可以将代码简化为:

$(function() {
    $(".block").animate({'margin-top': "1%"}, 200);
});

margin-top isn't a valid identifier by itself in JavaScript, so it needs to be in quotes, like this:

$(document).ready(function() {
    $(".block").animate( {'margin-top': "1%"}, {duration: 200, queue: true} );
});

Or jQuery lets you use caps to denote a -, like this:

$(document).ready(function() {
    $(".block").animate( {marginTop: "1%"}, {duration: 200, queue: true} );
});

Internally, jQuery just converts "margin-top" back to "marginTop". As an overall suggestion, since the default is to queue, you can simplify your code down to this:

$(function() {
    $(".block").animate({'margin-top': "1%"}, 200);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文