调整圆圈大小 - 虫子在哪里?

发布于 2024-12-06 06:48:53 字数 858 浏览 1 评论 0原文

我有以下代码,圆圈不调整大小:

HTML

<div onMouseOver="mainOver();" onMouseOut="mainOut();" id="c"></div>

JavaScript / jQuery

function mainIn()
{
    $('#c').animate({
        border-radius: '100',
        webkit-border-radius: '100',
        moz-border-radius: '100',
        width: '200',
        height: '200',
        margin-left: '-100',
        margin-top: '-100'
    });
}

function mainOut()
{
    $('#c').animate({
        border-radius: '50',
        webkit-border-radius: '50',
        moz-border-radius: '50',
        width: '100',
        height: '100',
        margin-left: '-50',
        margin-top: '-50'
    });
}

示例

问题

  • 即使悬停在圆圈上,圆圈也不会执行任何操作。

I have the following code, the circle doesn't resize:

HTML

<div onMouseOver="mainOver();" onMouseOut="mainOut();" id="c"></div>

JavaScript / jQuery

function mainIn()
{
    $('#c').animate({
        border-radius: '100',
        webkit-border-radius: '100',
        moz-border-radius: '100',
        width: '200',
        height: '200',
        margin-left: '-100',
        margin-top: '-100'
    });
}

function mainOut()
{
    $('#c').animate({
        border-radius: '50',
        webkit-border-radius: '50',
        moz-border-radius: '50',
        width: '100',
        height: '100',
        margin-left: '-50',
        margin-top: '-50'
    });
}

Example

The problem

  • The circle does nothing, even when hovered.

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

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

发布评论

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

评论(4

夏日浅笑〃 2024-12-13 06:48:53
  1. 你的 jsfiddle 中没有包含 jQuery
  2. 使用 border-radius:50%anysize 中制作一个方圆
  3. 使用 jQuery 绑定事件,更容易!
  4. 动画需要定时和回调函数

查看固定代码:

$('#c').hover(function(){
    $(this).animate({
        width: 200,
        height:200,
        'margin-left':'-100px',
        'margin-top':'-100px'
    }, 500, function(){});
},function(){
    $(this).animate({
        width: 100,
        height:100,
        'margin-left':'-50px',
        'margin-top':'-50px'
    }, 500, function(){});
});

http://jsfiddle.net/mohsen/ 9j795/16/

  1. you didn't include jQuery in your jsfiddle
  2. Use border-radius:50% to make a square circle in anysize
  3. Use jQuery to bind events, it's easier!
  4. Animation need timing and callback function

Look at fixed code:

$('#c').hover(function(){
    $(this).animate({
        width: 200,
        height:200,
        'margin-left':'-100px',
        'margin-top':'-100px'
    }, 500, function(){});
},function(){
    $(this).animate({
        width: 100,
        height:100,
        'margin-left':'-50px',
        'margin-top':'-50px'
    }, 500, function(){});
});

http://jsfiddle.net/mohsen/9j795/16/

千年*琉璃梦 2024-12-13 06:48:53

您的代码中存在几个问题:

您正在使用 jQuery,因此请使用它的处理程序。

您应该使用 jQuery 中的处理程序,例如 .hover() 处理鼠标悬停和鼠标移出。

JavaScript 属性中没有破折号

您不能执​​行诸如 margin-top: "-50px" 之类的操作,更不用说 margin - top: "-50px" 了,相反,您应该使用 camelCase marginTop: "-50px" 或字符串化您的属性:"margin-top": "-50px"

不需要供应商前缀

jQuery 自动处理特定浏览器的正确版本。无需对 -webkit-border-radius 等进行动画处理。

示例

There are several issues in your code:

You're using jQuery, so use it's handlers.

You should instead using the handlers in jQuery, such as .hover() to handle the mouse over and mouse out.

There are no dashes in JavaScript properties

You can't do things like margin-top: "-50px" let alone margin - top: "-50px", instead, you should be using camelCase marginTop: "-50px" or to stringify your properties: "margin-top": "-50px".

Vendor prefixes are not needed

jQuery automatically handles the specific browser correct version. No need to animate -webkit-border-radius and the such.

Example.

唠甜嗑 2024-12-13 06:48:53

不要将 javascript: 添加到 onMouseOveronMouseOut。只需 mainOver()mainOut() 就可以了。

编辑:此外,您在一个地方编写了 mainOver() ,在另一个地方编写了 mainIn()

Don't add javascript: to onMouseOver and onMouseOut. Just mainOver() and mainOut() is all you need.

EDIT: Also, you wrote mainOver() in one place, and mainIn() in the other.

会发光的星星闪亮亮i 2024-12-13 06:48:53

相当多的事情:

  1. border-radius 被解释为border - radius。在 jQuery 中,属性驼峰式大小写:borderRadius
  2. 不要执行 onmouseover 等操作。jQuery 提供了此功能。
  3. 不需要动画 -webkit-... 等。jQuery 应该处理这个问题。

请参阅此代码以获取修复:http://jsfiddle.net/9j795/7/

Quite a few things:

  1. border-radius is interpreted as border - radius. In jQuery, the properties camel case: borderRadius.
  2. Don't do onmouseover, etc. jQuery provides this functionality.
  3. No need to animate -webkit-..., etc. jQuery should take care of this.

See this code for the fixes: http://jsfiddle.net/9j795/7/

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