.animate() 不起作用?
无法使我的背景图像'位置动画
$(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。 谢谢,
can't make my background image' position animate
$(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);
});
and html code is
<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>
i've tried not using pixels like this {backgroundPosition: '0 38'} but it still not animating it just changed the position
and there is another issue. i repeat the jquery code for each item in the menu , could you plz make it in one function ,the position shifts 38px vertically for each item.
thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不是你。
jQuery 本身不支持背景位置动画。不过,有一个很棒的插件:
http://www.protofunc.com/scripts/jquery/backgroundPosition/
这是您要求的功能:
It's not you.
jQuery doesn't natively support background position animations. However, there is a wonderful plugin:
http://www.protofunc.com/scripts/jquery/backgroundPosition/
And here's the function you asked for:
我建议使用 CSS3 过渡 和 jQuery.CSS() 触发转换。
I'd recommend using CSS3 transitions and jQuery.CSS() to trigger the transition.
“right 38px”不是
background-position
的有效值。修复它,它应该可以工作。'right 38px' is not valid value of
background-position
. Fix it and it should work.