Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个jquery不能正常工作?_Jquery_Html_Css - Fatal编程技术网

为什么这个jquery不能正常工作?

为什么这个jquery不能正常工作?,jquery,html,css,Jquery,Html,Css,在此网站的导航中:[链接已删除] 我正在尝试使用Jonathan Snook的jQuery背景图像动画 使用的代码: HTML <div class="navigation"> <ul class="navigation"> <li class="about-us"><a href="#">about us</a></li>

在此网站的导航中:[链接已删除]

我正在尝试使用Jonathan Snook的jQuery背景图像动画

使用的代码:

HTML

<div class="navigation">
            <ul class="navigation">
                <li class="about-us"><a href="#">about us</a></li>                                                              
                <li class="services"><a href="#">services</a></li>
                <li class="products"><a href="#">products</a></li>
                <li class="news"><a href="#">news</a></li>
                <li class="contact"><a href="#">contact</a></li>
            </ul>
        </div><!--/navigation-->
jQuery:

$(function(){
$('ul.navigation li a')
    .css( {backgroundPosition: "0 0"} )
    .mouseover(function(){
        $(this).stop().animate(
            {backgroundPosition:"(0 -47px)"}, 
            {duration:500})
        })
    .mouseout(function(){
        $(this).stop().animate(
            {backgroundPosition:"(0 0)"}, 
            {duration:500})
        })
});

如果您有任何意见,我们将不胜感激。

我没有看到应用于您的
ul.navigation li a
的背景图像。但是,您正在尝试设置背景位置样式并设置其动画。

我没有看到应用于您的
ul.a
导航的背景图像。然而您正在尝试设置背景位置样式并为其设置动画。

我不知道什么不起作用,但我假设您的
jquery
没有为
背景位置设置动画,这是因为您已经在css中提供了一个
悬停
状态,该状态会覆盖动画并立即移动背景位置…
javascript中的另一件事是尝试使用,因为您有
背景位置
。关于我们
,而不是
。关于我们a

$('ul.navigation li.about-us').stop().animate(
                {backgroundPosition:"(0 -47px)"}, 
                {duration:500})

但是在jquery代码中,您再次在hover上重置背景位置
'0'
。。。因此,我建议您删除
css:hover
状态

我不知道什么不起作用,但我假设您的
jquery
没有设置
背景位置的动画
,这是因为您已经在css中给定了一个
hover
状态,该状态会覆盖动画并立即移动背景位置…
javascript中的另一件事是尝试使用,因为您有
背景位置
。关于我们
,而不是
。关于我们a

$('ul.navigation li.about-us').stop().animate(
                {backgroundPosition:"(0 -47px)"}, 
                {duration:500})

但是在jquery代码中,您再次在hover上重置背景位置
'0'
。。。因此,我建议您删除
css:hover
state

您必须替换选择器:

$(this).stop().animate(
与:


因为使用stop()选择一个标记,需要选择li标记。

必须替换选择器:

$(this).stop().animate(
与:


因为使用stop()可以选择一个标记,并且需要选择li标记。

jquery中的背景动画经常忽略的一件事是,它们需要一个额外的插件(虽然这个插件很小)才能正常工作。
该插件位于。

jquery中的背景动画经常忽略的一件事是,他们需要一个额外的插件(虽然它很小),才能使其正常工作。
该插件位于。

如果不向我们展示您所做的事情,您就不能指望我们说为什么“这个jquery”不起作用了?对不起,今天不开心:)它使用了一个jquery插件。你把它包括进去了吗?是的。注意:我编辑了答案并取出了代码,因为这可能不是您想要的。它取代了你所有关于“关于我们”的链接。您可能需要为不同的链接应用不同的x位置,而不是一次完成所有操作。如果不向我们展示您所做的工作,您就不能指望我们说出“此jquery”不起作用的原因?对不起,今天不太愉快:)它使用了jquery插件。你把它包括进去了吗?是的。注意:我编辑了答案并取出了代码,因为这可能不是您想要的。它取代了你所有关于“关于我们”的链接。您可能需要为不同的链接应用不同的x位置,而不是一次完成所有操作。