gpt4 book ai didi

jQuery 1.5.1 与 1.4.4 的奇怪之处

转载 作者:技术小花猫 更新时间:2023-10-29 11:22:36 30 4
gpt4 key购买 nike

当我将 jQuery 从 1.4.4 升级到 1.5.1 时,我遇到了一些奇怪的错误。也许你们可以解释我需要更改什么或者为什么新版本不起作用。

在1.4.4中我有如下代码

<div class="navlink home" data-link="home">
<span class="top">Home</span>
</div>
<div id="index-03">
</div>
<div class="navlink resume" data-link="resume">
<span class="top">Resume</span>
</div>
<div id="index-05">
</div>
<div id="index-06">
</div>
<div class="navlink portfolio" data-link="portfolio">
<span class="bottom">Portfolio</span>
</div>

JS:

$(".navlink").hover( 
function () {
$(this).delay(100).animate({backgroundPosition: "-100% 0"}, 400);
$(this).find("span").css("textDecoration","underline");
},
function () {
$(this).queue("fx", []);
$(this).animate({backgroundPosition: "0% 0%"}, 400);
$(this).find("span").css("textDecoration","none");
}
);

效果很好。

但是当我通过更改标题中的这一行来切换 jQuery 版本时

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>

上面的代码退出动画,背景图像就消失了。

这是一个 jsFiddle,显示发生了什么,只需更改 1.4.4 和 1.5.1 之间的 jQuery 版本

http://jsfiddle.net/fUXZ4/ -- 1.4.4

http://jsfiddle.net/3APCd/ -- 1.5.1

这是一段视频,确切地说明了我正在发生的事情:http://img.zobgib.com/2011-03-07_1905.swf

最佳答案

大概(虽然我没有检查)jquery 1.5 对双数值的容忍度较低,这是来自 .animate() 文档:

All animated properties should be animated to a single numeric value

我将您的动画更改为动画 backgroundPositionX(无论如何您都没有更改 y 值),这将是一个单个数值。

虽然这似乎既是一个不宽容 + 一个 jquery 错误,因为单独的修复不能很好地与 1.5.1 一起使用,我还必须删除 position:absolute,然后它打得不错:

http://jsfiddle.net/fUXZ4/2/

也许尝试 float 和间隔 div 以获得相同的外观。

我还建议进行一些代码更改,例如一直链接 $(this),并使用 .stop(true,false) 代替您的 .queue() 调用。

关于jQuery 1.5.1 与 1.4.4 的奇怪之处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226675/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com