gpt4 book ai didi

javascript - .animate() 不工作?

转载 作者:可可西里 更新时间:2023-11-01 13:39:27 25 4
gpt4 key购买 nike

无法使我的背景图片位置动画

$(function() {
$('#nav1').bind('click',function(event){
$('ul.nav').stop().animate({backgroundPosition: 'right top'}, 1000);
});
$(function() {
$('#nav2').bind('click',function(event){
$('ul.nav').stop().animate({backgroundPosition: 'right 38px'}, 1000);
});
$(function() {
$('#nav3').bind('click',function(event){
$('ul.nav').stop().animate({backgroundPosition: 'right 76px'}, 1000);
});
$(function() {
$('#nav4').bind('click',function(event){
$('ul.nav').stop().animate({backgroundPosition: 'right 114px'}, 1000);
});

html代码是

<ul class="nav">
<li><a href="#what" id="nav1">what</a></li>
<li><a href="#who" id="nav2">who</a></li>
<li><a href="#portfolio" id="nav3">portfolio</a></li>
<li><a href="#contact" id="nav4">contact</a></li>
</ul>

我试过不使用像这样的像素 {backgroundPosition: '0 38'} 但它仍然没有动画它只是改变了位置

还有一个问题。我为菜单中的每个项目重复 jquery 代码,你能不能在一个函数中实现它,每个项目的位置垂直移动 38px。谢谢,

最佳答案

不是你。

jQuery 本身不支持背景位置动画。但是,有一个很棒的插件: http://www.protofunc.com/scripts/jquery/backgroundPosition/

这是您要求的功能:

$(function() {
$('ul.nav a').each(function(i, elem) {
$(elem).bind('click', function(event) {
event.preventDefault();
var offset = i * 38;
$(this).stop().animate({backgroundPosition: '0 ' + offset + 'px'}, 1000);
});
});
});

关于javascript - .animate() 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7278847/

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