jQuery .toggleClass()在本地工作,但不在远程服务器上

问题描述:

请帮忙。此代码在本地工作,但不会在将其上载到远程服务器后进行。它似乎不是一个CDN问题,因为我把一个警报声明作为一个测试。第二种说法是针对一个单独的页面,它在那里工作。我在我的html页面的底部通过cdn引用了jQuery,并在其下方有一个指向我的JavaScript文件的链接。任何帮助将不胜感激。jQuery .toggleClass()在本地工作,但不在远程服务器上

$(document).ready(function() { 
    $('.thmb').hover(function() { 
     var x = $('.thmb').index(this); 
     $('.info_art').eq(x).toggleClass("hover-animation"); 
    }); 
    $('.thmbs_pdg_div a').click(function (evt) { 
     evt.preventDefault(); 
     var divname = this.name; 
     $("#" + divname).show().siblings().hide(); 
    }); 
}); 

这是我在HTML页面的末尾添加代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="javascript/jquery-1.8.2.min.js"> <\/script>')</script> 
<script type="text/javascript" src="javascript/artwork.js"></script> 

这里是页面的网址:http://www.kipdeeds.com/artwork_page.html

关于网页一些额外的信息,是不是工作:有七个类别,每个类别的文本都是精灵(例如“在纸上”,“新艺术”等)。当一个人徘徊的位置应该移动显示一个箭头图标的文字的新形象。我正在编写的程序将允许相应的图像图标在显示文本的精灵中制定相同的效果。

现在我不会改变代码,直到我得到反馈(比我的想法更好)。

+0

我想再次检查包含jQuery的链接是否正确。 – SpaceBeers 2013-02-10 08:22:55

+1

您使用了哪种浏览器,并且您是否已在控制台中查看最有可能出现的错误消息?我猜@SpaceBeers提到你得到一个'$是未定义的'或其他一些消息,指出jQuery不存在。 – Jared 2013-02-10 08:25:40

+0

@Jared - 是的。没有什么浏览器端应该通过移动本地来改变。 – SpaceBeers 2013-02-10 08:35:31

你的JS很好。

问题是你的CSS和你的图像不一致。这里就是你的CSS:

a.art_paper { 
    background: url("../assets/artwork_page/on_paper.gif") repeat scroll 0 0 transparent; 
    display: block; 
    height: 20px; 
    margin-top: 33px; 
    width: 95px; 
} 

a:hover, #artwork_main_div .hover-animation { 
    background-position: 0 -100px; 
} 

她是你的形象:enter image description here(95px X 20像素)

你无限重复你的背景图片,这恰好是20像素高。当.hover-animation类处于活动状态时,它会将背景向下滑动100px,这会使您对图像执行第5次(100/20 = 5)垂直迭代...,看起来与原始图像完全相同。

enter image description here

+0

我会尝试改变CSS的位置。它仍然令人费解,为什么它会在当地工作?谢谢Ayman检查这个。 – 2013-02-10 17:43:18

+0

虽然我还没有解决问题,但你绝对是在做些什么。我的精灵是垂直40px,显示的区域是20px。当我添加'background:no-repeat'并将'a:hover'改为'background-position:0 -20px;'它仍然在本地工作,它在远程视图中悬停,但没有显示任何内容。我也尝试了半步'background-position:0-10px;'。我使用这个[教程](http://css-tricks.com/snippets/css/basic-link-rollover-as-css-sprite/)作为指导。 – 2013-02-10 18:34:44

+1

问题是,你*不*使用精灵......至少在你的服务器上。相反,您只有一张图像,上面写着“On Paper”。检查出来:http://www.kipdeeds.com/assets/artwork_page/on_paper.gif – 2013-02-10 18:52:57