2012-01-31 68 views
3

我有一个行中的6个图像,第一个时,页面加载有一个类应用于它使用CSS3应用web转换。当其他图像在同一类上进行悬停时,将应用于这些内容,然后在鼠标悬停时将其移除。我需要做的最后一件事是,当其他图像悬浮在第一个图像上时,类将被删除,如果没有图像悬浮在第一个图像上,它的类会再次应用到它。jQuery删除类时,将其添加到其他元素

这是我到目前为止有:

$(document).ready(function() { 
    $("#imagePackshot li img").hover(function(){ 
     $(this).addClass('packshot').siblings().removeClass('packshot'); 
    }, 
    function() { 
     $(this).removeClass('packshot'); 
    }) 
    .first().addClass('packshot'); 
}); 

回答

3

你要检查你删除一个类之后是否还有没有其他的图像与类“packshot”,在这种情况下,将其添加到第一。

$(document).ready(function() { 
     var activeClass = 'packshot', images = $("#gallerySlideshow li img"); 
     var first = images.first().addClass(activeClass); 
     images.hover(function(){ 
      // remove the class from all images who still have it, most likely only one. 
      images.filter("."+activeClass).removeClass(activeClass); 
      // add class to the element that was hovered. 
      $(this).addClass(activeClass); 
     }, 
     function() { 
      // remove class from the image that was hovered out of 
      $(this).removeClass(activeClass); 
      // if no other images have the active class, then give it to the first image 
      if(!images.filter("."+activeClass).size()){ 
       first.addClass(activeClass); 
      } 
     }) 
    }); 

编辑:

使用这个网站的结构,根据您发布的链接,这意味着你不能用“兄弟姐妹”是指接下来的图像上,由于图象AREN代码”在HTML树T兄弟姐妹:

<ul id="gallerySlideshow"> 
    <li> 
     <a href="page9.html"><img src="thumbnails/thumb9.jpg" width="158" height="236" /></a> 
     <ul id="noimg"> 
      <li> 
       <a href=""><img src="Images/more-like-this.png" /></a> 
      </li> 
     </ul> 
    </li> 

    <li> 
     <a href="page9.html"><img class="box2" src="thumbnails/thumb1.jpg" /></a> 
     <ul id="noimg"> 
      <li> 
       <a href=""><img src="Images/more-like-this.png" /></a> 
      </li> 
     </ul> 
    </li> 

    <li> 
     <a href="page9.html"><img class="box" src="thumbnails/thumb3.jpg" /></a> 
     <ul id="noimg"> 
      <li> 
       <a href=""><img src="Images/more-like-this.png" /></a> 
      </li> 
     </ul> 
    </li> 



    <li> 
     <a href="page9.html"><img class="box1" src="thumbnails/thumb4.jpg" /></a> 
     <ul id="noimg"> 
      <li> 
       <a href=""><img src="Images/more-like-this.png" /></a> 
      </li> 
     </ul> 
    </li> 

    <li> 
     <a href="page9.html"><img class="box3" src="thumbnails/thumb5.jpg" /></a> 
     <ul id="noimg"> 
      <li> 
       <a href=""><img src="Images/more-like-this.png" /></a> 
      </li> 
     </ul> 
    </li> 

    <li> 
     <a href="page9.html"><img class="box4" src="thumbnails/thumb6.jpg" /></a> 
     <ul id="noimg"> 
      <li> 
       <a href=""><img src="Images/more-like-this.png" /></a> 
      </li> 
     </ul> 
    </li> 
</ul> 
+0

嗨ggreiner,感谢你的帮忙,虽然现在还没有工作,我怎么需要它,因为以前,我需要在页面加载时被强调的第一图像和放大(addClass ),然后悬停休息,它们被突出显示并放大,如果没有图像,第一个图像会缩小并突出显示ges在第一个之上徘徊回到被突出显示和放大,看网页例如它是在那个时刻。 http://geoffboult.co.uk/clients/jq/page5.3.html – Geoff 2012-02-01 11:01:02

+0

我修改了答案,以反映你的例子中的html结构 – ggreiner 2012-02-01 16:50:59

+0

非常感谢你的时间,它现在如何需要它。我试图找到如何向您发送一封邮件,表示感谢,或者看看我下次在镇上时是否可以向您发送致谢捐款。再次感谢... – Geoff 2012-02-01 21:08:48

相关问题