jQuery 动画()

发布于 2024-09-26 07:18:01 字数 636 浏览 2 评论 0原文

function toggle() 
    {
    $("#Layer4").animate( { width:"20%"}, 1000 );
    $("#Layer6").animate( { width:"20%"}, 1000 );
    }

现在发生的情况是,Layer4Layer6 见证了一些动画,但有趣的是高度发生了变化,而不是宽度发生了变化。

此外,一秒钟后,原始尺寸恢复。

为什么会出现这种情况?

--

<body onload="open()">
  <div id="Layer4">
    <img src="friend-line.jpg" width="243" height="380" />
  </div>
  <div id="Layer5" onClick="toggle()">
    <img src="toggle_in.jpg" width="7" height="50" />
  </div>
  <div id="Layer6"></div>
</body>
function toggle() 
    {
    $("#Layer4").animate( { width:"20%"}, 1000 );
    $("#Layer6").animate( { width:"20%"}, 1000 );
    }

Now what happens is that Layer4 and Layer6 witness some animation, but interestingly the height changes and not the width.

Also, after a second, the original dimensions are restored.

Why is this happening ?

--

<body onload="open()">
  <div id="Layer4">
    <img src="friend-line.jpg" width="243" height="380" />
  </div>
  <div id="Layer5" onClick="toggle()">
    <img src="toggle_in.jpg" width="7" height="50" />
  </div>
  <div id="Layer6"></div>
</body>

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

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

发布评论

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

评论(3

萤火眠眠 2024-10-03 07:18:01

我不相信使用 % 会得到一致的结果。尝试使用像素代替。如果必须使用 %,请确保周围没有宽度也以 % 设置的 div。我的猜测是这样的。

I don't believe you'll have consistent results using %. Try using pixels instead. If you must use % make sure that you don't have a surrounding div which the width is also set in %. My guess is that that is the case.

愿得七秒忆 2024-10-03 07:18:01

您不能将 div 的大小减小到小于 img 标记的大小。如果您想要这种行为,您需要将 img 标签替换为背景图像样式。

You can't reduce the size of the div by less than the img tag. If you want that behavior you'll need to replace the img tag with a background-image style.

淡淡離愁欲言轉身 2024-10-03 07:18:01

尝试调整图像而不是其容器的大小...

$('#Layer4 img').animate( { width:'20%'}, 1000 );
$('#Layer6 img').animate( { width:'20%'}, 1000 );

甚至更好,使用像素而不是百分比,正如已经建议的那样。

Try resizing images instead of their containers...

$('#Layer4 img').animate( { width:'20%'}, 1000 );
$('#Layer6 img').animate( { width:'20%'}, 1000 );

And even better, use pixels instead of percents, as already suggested.

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