Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在单个li元素的悬停上打开列表,只在ul的鼠标上崩溃

如何在单个li元素的悬停上打开列表,只在ul的鼠标上崩溃
EN

Stack Overflow用户
提问于 2012-10-21 01:16:09
回答 3查看 1.9K关注 0票数 4

我创建了一个具有如下结构的可折叠菜单:

  • 父级
  • 父母2
  • 亲本3
    • 子范畴

我有以下的javascript

代码语言:javascript
运行
AI代码解释
复制
    var config = {
        over: function() { $(this).children('ul').slideDown('slow'); },
        timeout: 5,
        out: function() { }
    }

    $("ul.root-tags li").hoverIntent(config);

    $('ul.root-tags').mouseout(function() {
        $(this).children('li ul').each(function () {
            $(this).slideUp('slow');
        });
    });

基本上,我希望在父项的悬停时打开子类别,但只在整个列表的鼠标退出上折叠打开的子类别,而不仅仅是父项。我的当前代码没有这样做。我需要做什么改变?

http://jsfiddle.net/zkhVC/4/在这里

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-21 01:35:43

这应该解决您要求的内容:

代码语言:javascript
运行
AI代码解释
复制
$('#head').mouseleave(function() {

    $(this).find('li ul').each(function () {
        $(this).stop().slideUp('slow');
    });

});

$("ul li").mouseenter(function() {
    $(this).children('ul').stop().slideDown('slow');
});

Fiddle

这里

解释

  • 不要使用hover事件,因为它会一次又一次地被触发--您正在处理该元素。您希望使用mouseenter代替。
  • 使用mouseleave而不是mouseout

mouseleave事件在处理事件冒泡的方式上不同于mouseout。如果在本例中使用mouseout,则当鼠标指针移出内部元素时,将触发处理程序。这通常是不可取的行为。另一方面,mouseleave事件只在鼠标离开绑定到的元素时才触发它的处理程序,而不是后代。因此,在本例中,当鼠标离开外部元素(而不是内部元素)时,将触发处理程序。

  • 深入了解选择器的工作原理:这里不需要children函数。
  • 您希望在调用动画之前使用stop函数来防止动画缓冲。
票数 3
EN

Stack Overflow用户

发布于 2012-10-21 01:30:32

看起来有点奇怪,但也许我们可以这样解释:

看起来mouseout ()事件是发送给ul.root标记的子事件的。因此,您应该尝试使用event.stopPropagation()方法来避免冒泡

代码语言:javascript
运行
AI代码解释
复制
$('ul.root-tags').mouseout(function(e) {
    e.stopPropagation();
    $(this).children('li ul').each(function () {
        $(this).slideUp('slow');
    });
});

如果它现在不起作用,使用e.target,您可能会确切地知道是谁在打电话给谁。

票数 1
EN

Stack Overflow用户

发布于 2012-10-21 01:32:52

使用jQuery的mouseleave而不是mouseout

代码语言:javascript
运行
AI代码解释
复制
$('ul.root-tags').mouseleave(function() {
    $(this).find('ul').slideUp('slow');
});

$("ul.root-tags li").hover(function() {
    $(this).find('ul').slideDown('slow');
})

看这个小提琴

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

https://stackoverflow.com/questions/12996529

复制
相关文章
php读取pdf文件_php怎么转换成pdf
Orientation:orientation属性用来设置文档打印格式是“Portrait”还是“Landscape”。 Landscape为横式打印,Portrait为纵向打印
全栈程序员站长
2022/10/04
13.2K0
python 创建PDF文件
ubuntu可以直接 apt-get install python-reportlab
py3study
2020/01/08
1.6K0
Mac 快速创建PDF
一、找到Mac的小机器人打开 屏幕快照 2019-04-23 下午3.14.21.png 二、选择文件夹操作点击选取 屏幕快照 2019-04-23 下午3.16.05.png 三、点击 资源库-->
developerbfl
2019/05/08
1.6K0
Mac 快速创建PDF
动态创建数组[通俗易懂]
使用运算符new也可以创建数组类型的对象,这时需要给出数组的结构说明。用new运算符动态创建一维数组的语法形式为: new 类型名【数组长度】; 其中数组长度指出了数组元素的个数,它可以是任何能够得到正整数值的表达式。 细节: 用new动态创建一维数组时,在方括号后仍然可以加小括号“()”,但小括号内不能带任何参数。是否加“()”的区别在于,不加“()”,则对数组每个元素的初始化,与执行“new T”时所进行初始化的方式相同;加“()”,则与执行“new T()”所进行初始化的方式相同。例如,如果这样动态生成一个整型数组: int *p=new int[10] (); 则可以方便地为动态创建的数组用0值初始化。 如果是用new建立的数组,用delete删除时所在指针名前面要加上“【】”,格式如下: delete[] 指针名;
全栈程序员站长
2022/08/15
3.1K0
动态创建Storyboard
做动画或者做控件的时候不一定都要在xaml里做Storyboard,有时候在代码里动态创建会更加灵活些。 这里以我做的一个改变颜色的Storyboard为例来做说明。(查了不少英文资料,大多都是对beta2的,和release的版本有些不同) 代码: Storyboard storyboard = new Storyboard();             Brush br = xRectangle.Fill;             ColorAnimation colorAnim = new Color
用户1172164
2018/03/01
2.4K0
动态创建Fragment
5.0 在使用fragment的activity里面调用getFragmentManager方法.得到fragmentManager对象
仇诺伊
2018/09/12
2.4K0
动态创建类
1 public class CreateClassHelper 2 { 3 /// <summary> 4 /// 根据列名创建自定义类型 5 /// 属性名称在列名前添加前缀 prdfix 6 /// </summary> 7 /// <param name="columnNames">用来创建属性的列名</param> 8 /// <param name="p
用户6362579
2019/09/29
2.9K0
php格式怎么转换为pdf,PHP如何将将word文件转为pdf
PHP将word文件转为pdf的方法:首先修改【php.ini】,并重启环境;然后安装微软office套件;最后配置office组件服务即可。
全栈程序员站长
2022/08/26
5.5K0
php格式怎么转换为pdf,PHP如何将将word文件转为pdf
Silverlight在线创建PDF(支持中文)
用MS的silverlight来生成Adobe的pdf文档?象不象到肯德基买麦当劳? 哈... 言归正传: 首先要用到下面二个开源库 1.开源项目 http://silverpdf.codeplex.com/ silverlight的pdf开源库 2.FluxJpeg 借助这个可将位图转换化base64字符串,项目官方地址已经找不到了,反正google,baidu一下N多下载 注:社区里总会有一些好心人做善事,愿主保佑他们身体健康,工作顺心,写出更多更好的代码 :) 先看演示:(由于内嵌了一个约7M
菩提树下的杨过
2018/01/23
1.6K0
Angular 动态创建组件
上面代码中,我们定义了一个简单的 AlertComponent 组件,该组件有一个输入属性 type ,用于让用户自定义提示的类型,此外还包含了一个输出属性 output,用于向外部组件输出信息。我们的自定义组件最终是一个实际的 DOM 元素,因此如果我们需要在页面中插入该元素,我们就需要考虑在哪里放置该元素。
阿宝哥
2019/11/05
3.8K0
Swift 动态创建ViewController
class ViewControllerHelper: NSObject { /// 通过ClassName动态创建ViewController /// - Parameter className: calssName /// - Returns: ViewController class func getViewControllerWithCalssName(_ className: String) -> UIViewController {
赵哥窟
2020/07/28
1.9K0
[android] fragment的动态创建
在一个商业软件中,会有很多的界面,如果没一个界面对应一个activity,那么activity会非常的多,清单文件也会非常的乱,谷歌在android3.0以后引入了新的概念叫fragment
唯一Chat
2019/09/10
2.1K0
TypeScript 动态创建类
首先定义一个Greeter的类 class Greeter { greeting: string; constructor(message: string) { this.greeting = message; } greet() { return "Hello, " + this.greeting; } } 根据字符串动态创建Greeter类 //instance creation here var greeter = Object.
陈仁松
2018/04/08
3.8K0
PHP使用mpdf下载PDF文件
官网 https://mpdf.github.io/ 安装 composer require mpdf/mpdf 使用 <?php require_once __DIR__ . '/vendor/a
Action
2021/05/07
3.6K0
PDF Java库: 创建PDF阅读器和编辑器
在当今移动优先的世界中,创建 Android 应用程序是企业和开发人员的必备技能。而且,随着处理 PDF 文档的需求不断增加,使用功能强大的 PDF SDK ComPDFKit 构建 Android PDF 阅读器和编辑器,能使您的最终用户轻松查看和编辑 PDF。
Youna
2023/07/31
4970
PDF Java库: 创建PDF阅读器和编辑器
JAVA动态创建表以及动态插入数据
利用JDBC驱动链接Mysql数据其实很简单的,第一要下载一个名为 “mysql-connector-java-5.1.20-bin.jar” 驱动包。并解压到相应的目录!5.1.20是版 本号到目前为止这个是最新的版本!
ZONGLYN
2019/08/08
6.6K0
Web应用程序如何创建 PDF
在一些场景下,用户都要求一些需要的数据能以 pdf 的格式下载下来。如电子商务商店,经常需要一些报表数据来分析当月的销售情况。
前端小智@大迁世界
2019/07/15
2.9K0
如何创建PDF格式文件,这个方法教你快速创建
很多人接触到的PDF文件,很多都是从网上下载来的,而这些大都是转换来的,因为PDF本身就是比较安全,兼容性比较好,不论是在阅读还是在传输的时候都是比较便捷的,在办公中用到的还是比较多的,但是PDF文件很难进行修改,想要重新创建一个PDF进行编辑该怎么办呢?如何创建PDF格式文件,这是很多人比较关心的问题,今天来给大家分享一个超级好用的方法哦,然给你快速完成创建。
高效办公
2019/05/21
1.6K0
如何创建PDF格式文件,这个方法教你快速创建
PHP实现PDF转换成图片
ImageMagick 是一个图象处理软件,也可以作为PHP的一个扩展来使用。它可以编辑、显示包括JPEG、TIFF、PNM、PNG、GIF和Photo CS在内的绝大多数当今最流行的图象格式。你可以改变图象尺寸、旋转、锐化、减少颜色或加入特殊效果到图象里,并且能够以另一种图象格式保存。
用户8851537
2021/08/19
3K0
通过反射动态创建对象
示🌰 通过Class类的getMethod(String name,Class...parameterTypes)方法取得一个Method对象,并设此方法操作时所需要的参数类型 之后使用Object invoke(Object obj,Object[] args)进行调用,并向方法中传递要设置的obj对象的参数信息 Object对应原方法的返回值,若原方法无返回值,此时返回null 若原方法为静态方法,此时形参Object obj可为null 若原方法形参列表为空,则Object[] args为null
高大北
2022/06/14
9190

相似问题

如何用白色字体使导航栏透明?

10

在UIView中只有白色填充颜色是透明的

11

GraphicksMagic:白色->透明

29

可以将此形状设置为白色边框和透明背景吗?

24

CSS白色透明div

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档