首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用类名在<li>上调用jQuery

使用类名在<li>上调用jQuery
EN

Stack Overflow用户
提问于 2012-10-13 11:46:52
回答 5查看 1.9K关注 0票数 0

我正尝试在此元素上调用jQuery:

代码语言:javascript
复制
<li class="expanded nolink">
  <span>SERVICES</span>
  <ul class="menu">
    <li class="first leaf">
      <a href="/site/personal_training">PERSONAL TRAINING</a>
    </li>
  </ul>
</li>

当我将鼠标悬停在服务上时,我希望ul类的“菜单”出现,当我离开<li>时,它应该会再次消失。我一直在尝试,我开始变得孤注一掷...url为:http://wittmerperformance.com/site/

到目前为止,我得到的脚本如下所示:

代码语言:javascript
复制
$(function() {
  var fade = $('.menu');
  $('.expanded nolink').hover(function(){
  alert("hello world!");
fade.fadeIn();
  }, function() {
fade.fadeOut();
  });
});

感谢您的帮助!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-10-13 11:50:02

您的选择器错误,您应该更改:

代码语言:javascript
复制
$('.expanded nolink')

至:

代码语言:javascript
复制
$('.expanded.nolink')

您也可以使用fadeToggle方法:

代码语言:javascript
复制
$(function(){
   $('.menu').hide();
   $('li.expanded').hover(function(){
      $('.menu', this).fadeToggle()
   })
})
票数 1
EN

Stack Overflow用户

发布于 2012-10-13 11:50:59

您的jQuery代码中有一个错误,选择器错误:

$('.expanded nolink')更改为$('.expanded.nolink'),因为选择器没有选择任何内容,您的代码可能无法工作!

你有这样的代码:

代码语言:javascript
复制
<ul>
    <li class="expanded nolink">
        <span>SERVICES</span>
        <ul class="menu">
            <li class="first leaf">
                <a href="/site/personal_training">PERSONAL TRAINING</a>
            </li>
            <li class="leaf">
                <a href="/site/personal_training">PERSONAL TRAINING</a>
            </li>
            <li class="leaf">
                <a href="/site/personal_training">PERSONAL TRAINING</a>
            </li>
        </ul>
    </li>
</ul>

纯CSS解决方案

代码语言:javascript
复制
​ul li.expanded ul {display: none;}
ul li.expanded:hover ul {display: block;}​

小提琴:http://jsfiddle.net/nhhQz/

jQuery解决方案

代码语言:javascript
复制
$(document)​.ready(function(){
    $("ul li.expanded ul").hide();
    $("ul li.expanded").hover(function(){
        $(this).children("ul").stop().fadeIn(400);
    }, function(){
        $(this).children("ul").stop().fadeOut(400);
    });
});​

小提琴:http://jsfiddle.net/nhhQz/1/

票数 2
EN

Stack Overflow用户

发布于 2012-10-13 11:55:02

你基本上可以使用hover

代码语言:javascript
复制
$(document).ready(function(){
    $("ul li.expanded").hover(function(){
        $(this).children("ul").show();
    }, function(){
        $(this).children("ul").hide();
    });
});​

演示:http://jsfiddle.net/CU83B/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12869758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档