jquery IF / ELSE语句悬停功能仅在第二个悬停时触发?

时间:2011-12-12 18:16:48

标签: jquery hover

我正在使用JqueryToolTip为我页面上的锚点内的一系列图像设置样式和动画工具提示。问题是当工具尖端长于30个字母时,它不会在div内垂直居中。所以我写了这个jquery,将一个.small类添加到少于30个字母的任何工具提示中。这产生了我想要的效果,除了它只适用于第二个悬停。如何在第一次悬停时实现?

我还是jquery的新手。我假设它与我有代码的顺序有关,但我无法弄明白。

$("#loop-wrapper a img").hover(function(){
  var getLength = $(this).attr("alt").length;
  if(getLength < 30){
    $(".tooltip").addClass("small");
  }
  else{
    $(".tooltip").removeClass("small");
  }
}, function (){
  $(".tooltip").removeClass("small");
});

1 个答案:

答案 0 :(得分:2)

我会重构它以使用带有switch参数的.toggleClass.hover的一个函数参数:

$("#loop-wrapper a img").hover(function () {
    var getLength = $(this).attr("alt").length;
    $(".tooltip").toggleClass("small", (getLength < 30));
});