Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在jquery中对事件排序

在jquery中对事件排序
EN

Stack Overflow用户
提问于 2011-07-20 18:54:09
回答 2查看 190关注 0票数 2

我有一个这样的构造......

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="right_top_block" class="drop_head">
    <div id="right_top_block_head" class="dropper block_head rounded-corner">
        Friends
    </div>
    <div class="box_container">
        <div id="box_list" class="drop_list">
            <ul id="right_top_ul">    
            </ul>
        </div>
    </div>
</div>

我删除了里面的内容,因为它太长了.我有一个像这样的jquery。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function() {
    $('.drop_head').each(function(i, e) {
        $('.dropper', e).click(function() {
            $('.drop_list', e).slideToggle(1500);
        });
    });

    $('.dropper').click(function(e) {
        $(e.target).parent().removeClass('leaf_class');
        if ($(e.target).parent().height() < 300) $(e.target).parent().addClass('leaf_class');
    });
});

现在发生的事情是,每次单击dropper时,都会向right_top_block添加一个叶类,然后在相应的drop_list上完成一个slideDown(作为slideToggle的一部分)(我有很多这样的类)……现在,如果再次单击它,该叶类将从right_top_block中删除,然后在相应的drop_list上执行slideUP(作为slideToggle的一部分)。但我真正想要的是,当执行slideUp时,我希望slideToggle完成,然后删除leaf_class。如何更改事件执行的顺序?我猜由于我在切换中指定的延迟1500是导致这种情况的原因。虽然不想松开它提供的缓慢过渡,但我希望完成它,然后删除leaf类。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-24 08:42:52

首先,关于你问题中的代码有两点备注:

  • 运行在click上的代码被分成两个事件处理程序:一个负责幻灯片动画,另一个负责类更改。这非常令人困惑,实际上使问题变得更加复杂。如果这两个处理程序合并成一个处理程序,或者如果一个处理程序执行整个slideDown()操作序列,而另一个处理程序使用e.target执行整个slideUp()处理程序,并且该元素似乎不包含任何派生click事件的元素,则会更容易。这本身是完全正确的,但使用this会更短,让你的意图更清晰。

现在,让我们来看看你的需求。看起来您希望在slideDown()动画开始之前添加leaf_class,但仅在slideUp()动画完成后删除。

您可以通过一对绑定到toggle事件的处理程序,以及显式调用slideDown()slideUp()而不是slideToggle()来实现这一点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('.dropper').toggle(function() {
    var $dropHead = $(this).parent();
    $dropHead.addClass("leaf_class");
    $(".drop_list", $dropHead).slideDown(1500);
}, function() {
    var $dropHead = $(this).parent();
    $(".drop_list", $dropHead).slideUp(1500, function() {
        $dropHead.removeClass("leaf_class");
    });
});
票数 1
EN

Stack Overflow用户

发布于 2011-07-20 18:58:10

如果我已经理解了您在问什么,那么您正在寻找slideToggle函数的回调函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('.drop_list', e).slideToggle(1500, function() {
    //Do stuff after slide is complete
}); 

在幻灯片动画完成时执行回调函数。有关详细信息,请参阅jQuery docs

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

https://stackoverflow.com/questions/6766982

复制
相关文章
Android 存储学习之在外部存储中读写文件
上节学习了如何在手机内部存储中读写文件,本节学习如何在手机的外部存储中读写文件。那就是如何在Sdcard中读写文件。
DragonKingZhu
2022/05/08
1.5K0
Android 存储学习之在外部存储中读写文件
esxi存储(外部共享存储)
vSphere 基础物理架构中存储是一个非常关键的部分,没有好的存储,虚拟化也就没有存在的价值,并且它能够决定其系统性能的高低和如vMotion等高级功能能否实现。所以本次重点介绍vSphere中的存
L宝宝聊IT
2018/06/20
4.2K0
《Android外部存储》
| 导语 外部存储作为开发中经常接触的一个重要系统组成,在Android历代版本中,有过许许多多重要的变更。我也曾疑惑过,为什么一个简简单单外部存储,会存在存在这么多奇奇怪怪的路径:/sdcard、/mnt/sdacrd、/storage/extSdCard、/mnt/shell/emulated/0、/storage/emulated/0、/mnt/shell/runtime/default/emulated/0…其实,这背后代表了一项项技术的成熟与发布:模拟外部存储、多用户、运行时权限… 一、各版本外部
腾讯Bugly
2018/03/23
2.7K0
Android外部存储
外部存储作为开发中经常接触的一个重要系统组成,在Android历代版本中,有过许许多多重要的变更。我也曾疑惑过,为什么一个简简单单外部存储,会存在存在这么多奇奇怪怪的路...
WeTest质量开放平台团队
2018/03/09
2.2K0
Android外部存储
Android外部存储
外部存储作为开发中经常接触的一个重要系统组成,在Android历代版本中,有过许许多多重要的变更。我也曾疑惑过,为什么一个简简单单外部存储,会存在存在这么多奇奇怪怪的路径:/sdcard、/mnt/sdacrd、/storage/extSdCard、/mnt/shell/emulated/0、/storage/emulated/0、/mnt/shell/runtime/default/emulated/0...其实,这背后代表了一项项技术的成熟与发布:模拟外部存储、多用户、运行时权限...
WeTest质量开放平台团队
2018/10/29
8500
外部配置存储模式
将配置信息从应用程序部署包移出,移到一个集中的位置。 这可以提供用于简化管理和控制配置数据,以及用于在应用程序和应用程序实例之间共享配置数据的机会。
只喝牛奶的杀手
2019/09/02
1.4K0
外部配置存储模式
Android | 图解外部存储和内部存储
Android中根据数据是否为应用私有、是否需要给外部应用暴露以及数据的大小可以有以下几种选择:
岛哥的质量效能笔记
2021/08/18
7210
Android | 图解外部存储和内部存储
Xamarin.iOS中的CoreML简介
CoreML为iOS带来了机器学习 - 应用程序可以利用训练有素的机器学习模型来执行从问题解决到图像识别的各种任务。
iOSDevLog
2018/08/10
2.7K0
Xamarin.iOS中的CoreML简介
安卓开发_数据存储技术_外部存储
安卓外部存储,即将数据存储在sdcard中,当然存储的前提是手机或者模拟器先具有sdcard目录 然而上一句话还是有歧义的。 事实上所有的安卓设备都有外部存储和内部存储,这两个名称来源于安卓的早期设备,那个时候的设备内部存储确实是固定的,而外部存储确实是可以像U盘一样移动的。但是在后来的设备中,很多中高端机器都将自己的机身存储扩展到了8G以上,他们将存储在概念上分成了"内部internal" 和"外部external" 两部分,但其实都在手机内部。所以不管安卓手机是否有可移动的sdcard,他们总是有外部存
听着music睡
2018/05/18
2K0
Web漏洞|XXE漏洞详解(XML外部实体注入)
在学习XXE漏洞之前,我们先了解下XML。传送门——> XML和JSON数据格式
谢公子
2022/01/20
2.3K0
Web漏洞|XXE漏洞详解(XML外部实体注入)
chevereto图床添加外部存储
前几天用chevereto做一个专门存储图片的网站,但是考虑到主服务器的硬盘和流量都不多,以后可能会支持不了太多的图片使用,就在后台找到原来chevereto提供了添加外部存储的选项,ftp的一直报错
用户1188347
2018/02/27
3.6K0
chevereto图床添加外部存储
k8s支持的存储_外部存储数据库
前面我们已经学习了使用NFS提供存储,此时就要求用户会搭建NFS系统,并且会在yaml配置nfs。由于kubernetes支持的存储系统有很多,要求客户全部掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用,kubernetes引入了PV和PVC两种资源对象。
全栈程序员站长
2022/09/22
9260
k8s支持的存储_外部存储数据库
图像 alt 属性中存储的 XSS 漏洞以窃取 cookie
览这个 Web 应用程序的目的是寻找错误,但我在这个过程中很早就开始了,只是想了解一下这个应用程序是如何工作的。
Khan安全团队
2022/01/15
1.3K0
当心外部连接中的ON子句
       在SQL tuning中,不良写法导致SQL执行效率比比皆是。最近的SQL tuning中一个外部连接写法不当导致过SQL执行时间超过15分钟左右此即 为一例。通过修正该SQL的写法之后,过高的逻辑读呈数量级下降以及SQL语句执行时间也大幅下降。下面给出一个列子来演示该情形。
Leshami
2018/08/14
2.1K0
笔记 | Xamarin
所有 Android 应用都必须在 AndroidManifest.xml 中为外部存储声明两个权限之一。
yiyun
2022/04/01
24K0
笔记 | Xamarin
【JS面试题】如何通过闭包漏洞在外部修改函数中的变量
解 我们使用这种闭包的原因就是为了使用函数值,并且保护函数值不被修改,就算要修改函数值也要定义一个修改函数,通过修改函数修改值。 但是这里面也没有修改函数 只有一个获取函数,它可以返回对象内属性的值。 我们通过这个函数可以得到对象内属性的值。
坚毅的小解同志的前端社区
2023/10/17
4270
Chevereto V4的进阶使用:挂载外部对象存储拓展存储空间
文章首发于若绾 Chevereto V4的进阶使用:挂载外部对象存储拓展存储空间,转载请注明出处
Royc30ne
2023/05/12
1.4K0
【错误记录】Android 分区存储下的 SD 卡应用专属外部存储空间目录访问 ( 需手动创建应用专属外部存储空间目录 )
开发时 , 需要向外置 SD 卡中拷贝一些文件 , 应用读取这些文件 , 进行相关配置 ;
韩曙亮
2023/03/29
6440
【错误记录】Android 分区存储下的 SD 卡应用专属外部存储空间目录访问 ( 需手动创建应用专属外部存储空间目录 )
从外部访问Kubernetes中的Pod
本文主要讲解访问kubernetes中的Pod和Serivce的几种方式,包括如下几种:
我的小碗汤
2019/07/30
2.9K0
点击加载更多

相似问题

xamarin形式的外部存储

158

visual studio上Xamarin的外部存储

117

修正Xamarin Android中的片段注入漏洞

10

Xamarin形式:来自外部存储的backgroundImage

15

外部jar文件中的Java漏洞问题

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文