尝试使用Jquery悬停来更改字体大小

时间:2014-08-17 22:58:37

标签: javascript jquery html css hover

我试图使用Jquery悬停功能来更改某些选项卡的字体大小。我认为我无法定位标签。

这是我试图定位的HTML:

<ul class="tabs" data-tab>
    <div class="tab">
        <li class="tab-title">
            <a href="#panel2-1">ABOUT ME</a>
        </li>
        <li class="tab-title">
            <a href="#panel2-2">PORTFOLIO</a>
        </li> 
    </div>
</ul>

我只是尝试将两个标签包装在div标签中,并为div标签分配一个名为“tab”

的标签

这是我的Jquery代码:

$(document).ready(function() {
    $('.tab').hover(function() {
        $(this).css('font-size','60px')
    });
});

有人可以告诉我,我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:2)

DIV内不允许使用

UL元素,这是您的第一个错误,应该是:

<ul class="tabs" data-tab>
  <!-- no party for DIV elements here -->
  <li class="tab-title"><a href="#panel2-1">ABOUT ME</a></li>
  <li class="tab-title"><a href="#panel2-2">PORTFOLIO</a></li> 
</ul>

.hover()永远不会将我们的文字返回到默认状态,因为.hover()方法实际上会侦听mouseentermouseleave,所以在mouseleave上再次重新启动将其设置为60px

另一方面,CSS会做到这一点:

.tabs li:hover a{ /* Or use>> .tabs a:hover */
   font-size: 60px;
}

如果你真的对jQuery感兴趣只是为了好玩而不是:

$('.tabs li').hover(function( e ) { // or simply '.tab-title'
   $("a", this).css('font-size', e.type=="mouseenter"? 60 : "inherit"); // or 56
});

同样使用jQuery,您不需要设置px因为默认情况下会使用 px ,除非设置了其他单位。