Jquery动画错误

发布于 2024-12-09 16:19:40 字数 823 浏览 0 评论 0原文

现在是凌晨 3 点,我不是最擅长 jquery,有人能告诉我我犯了什么愚蠢的错误吗?

我在这里的 jsfiddle 中有它: http://jsfiddle.net/JamesKyle/7GWRp/

有一个css 转换中的扭结不允许它们在 :before 或 :after 元素上使用,因此我尝试使用页面上已使用的 jquery 进行解决方法。基本上这些是三种 CSS 状态:正常、悬停和活动。

(我正在尝试为顶部的小光芒设置动画)

$(document).ready(function() {

    $('.button:before').mouseover(function() {
        $(this).animate({
            left: '0px',
            opacity: 1
          }, 100);
    });
    $('.button:before').click(function() {
        $(this).animate({
            left: '30px',
            opacity: 0
          }, 100);
    });
    $('.button:before').mouseout(function() {
        $(this).animate({
            left : '-30px',
            opacity : '1'
          }, 100);
    });

});

it's 3 am right now and I'm not the best at jquery, can someone tell me what stupid mistake I'm making?

I have it in a jsfiddle here: http://jsfiddle.net/JamesKyle/7GWRp/

There's a kink in css transitions that don't allow them to be used on :before or :after elements, so I'm trying to do a workaround using jquery which is already being used on the page. Basically these are the three css state normal, hover, and active.

(I'm trying to animate the little shine at the top)

$(document).ready(function() {

    $('.button:before').mouseover(function() {
        $(this).animate({
            left: '0px',
            opacity: 1
          }, 100);
    });
    $('.button:before').click(function() {
        $(this).animate({
            left: '30px',
            opacity: 0
          }, 100);
    });
    $('.button:before').mouseout(function() {
        $(this).animate({
            left : '-30px',
            opacity : '1'
          }, 100);
    });

});

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

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

发布评论

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

评论(1

残龙傲雪 2024-12-16 16:19:40

这里的结论是,由于伪元素不是 DOM 的一部分,它们不能直接成为 jQuery 的目标。

插入像

Button

这样的物理元素在我看来是最简单的解决方案,但它确实使标记...

The verdict here is that, since pseudo elements are not part of the DOM, they cannot be directly targeted with jQuery.

Inserting a physical element like <div class="button gray"><span></span>Button</div> seems to me to be the easiest solution but it does clutter the markup...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文