CN110968553B - 目录树中元素的排序方法及装置 - Google Patents
目录树中元素的排序方法及装置 Download PDFInfo
- Publication number
- CN110968553B CN110968553B CN201811143185.6A CN201811143185A CN110968553B CN 110968553 B CN110968553 B CN 110968553B CN 201811143185 A CN201811143185 A CN 201811143185A CN 110968553 B CN110968553 B CN 110968553B
- Authority
- CN
- China
- Prior art keywords
- target element
- directory tree
- coordinate data
- target
- ordering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种目录树中元素的排序方法及装置。其中,该方法包括:在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序。本发明解决了现有技术中目录树的可拖拽功能无法实现对目录树中的元素进行排序的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种目录树中元素的排序方法及装置。
背景技术
目录树,主要用于对文件可视化的归类和分层级,在对文件可视化管理中有着不可替代的作用,最初的可视化目录树主要应用于window等操作系统,后来随着web的逐渐发展,web对目录树管理文件的需求也越来越多种多样。
目录树可以实现的功能除了简单的增删改查,还包括可拖拽功能,但是,由于归类和排序的互斥性,一般的目录树拖拽功能仅可以实现目录树的目录归类,但是并无法实现目录树中的元素的排序,即目录树的目录排序。
针对上述现有技术中目录树的可拖拽功能无法实现对目录树中的元素进行排序的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种目录树中元素的排序方法及装置,以至少解决现有技术中目录树的可拖拽功能无法实现对目录树中的元素进行排序的技术问题。
根据本发明实施例的一个方面,提供了一种目录树中元素的排序方法,包括:在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序。
根据本发明实施例的另一方面,还提供了一种目录树中元素的排序装置,包括:发模块,用于在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;获取模块,用于通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;排序模块,用于基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序。
根据本发明实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的目录树中元素的排序方法。
根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行任意一项上述的目录树中元素的排序方法。
在本发明实施例中,通过在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序,达到了利用目录树的可拖拽功能实现对目录树中的元素进行排序的目的,从而实现了对目录树层级顺序进行管理的技术效果,进而解决了现有技术中目录树的可拖拽功能无法实现对目录树中的元素进行排序的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种目录树中元素的排序方法的流程图;
图2是根据本发明实施例的一种可选的目录树中元素的排序方法的流程图;
图3是根据本发明实施例的一种可选的目录树中元素的排序方法的流程图;
图4是根据本发明实施例的一种可选的目录树中元素的排序方法的流程图;以及
图5是根据本发明实施例的一种目录树中元素的排序装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,为方便理解本发明实施例,下面将对本发明中所涉及的部分术语或名词进行解释说明:
目录树:是指由容器和对象构成的层次结构,树的叶子、节点往往是对象,树的非叶子节点是容器。目录树可以实现对文件可视化的归类和分层。
拖拽:是指一种通过鼠标点击某条文件或数据之后长按并拖动鼠标,相应的目标文件或数据跟着鼠标的移动进行移动,松开鼠标之后移动结束的过程。
目录归类:是指一种将某条文件或者数据归目到特定的目录下的过程。
目录排序:是指一种将目录树下某条文件或者数据和目录树的其他文件或者目录交换排列顺序的过程。
归类和排序的互斥性:归类时要确定归类的具体文件或者数据,而排序时也需要确定一个文件或者数据和哪一文件或者数据进行排序,当执行归类和排序的其中之一操作时,就必须先确定是归类还是排序,才能进行具体的操作,因此,归类和排序在一个操作中是互斥的。
实施例1
根据本发明实施例,提供了一种目录树中元素的排序方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种目录树中元素的排序方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;
步骤S104,通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;
步骤S106,基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序。
在本发明实施例中,通过在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序,达到了利用目录树的可拖拽功能实现对目录树中的元素进行排序的目的,从而实现了对目录树层级顺序进行管理的技术效果,进而解决了现有技术中目录树的可拖拽功能无法实现对目录树中的元素进行排序的技术问题。
在上述步骤S102中,上述目录树中的第一目标元素、第二目标元素可以但不限于为目录树中的文件或数据等,用户可以通过鼠标点击上述第一目标元素(例如,点击第一目标元素的图标)之后长按并拖动鼠标,对上述第一目标元素进行拖拽;用户还可以通过触控的方式,在触摸显示屏上用手指点击上述第一目标元素之后长按并拖动鼠标,对上述第一目标元素进行拖拽。
可选的,本申请实施例可以但不限于通过碰撞检测的方式,确定需要与上述第一目标元素进行排序的第二目标元素,碰撞检测即检测第一目标元素是否与一个或多个元素发生触碰或碰撞,如果发生触碰或碰撞则确定该元素即为需要与第一目标元素进行排序的第二目标元素。
其中,元素与元素之间的碰撞可以理解为不同元素的图标之间的碰撞,以便于实现碰撞检测为例,元素的图标的形状可以但不限于为矩形、圆形等。
可选的,上述拖拽事件可以但不限于为在生成目录树的同时,利用浏览器提供API接口,对目录树的文档对象模型结构所添加的HTML5的拖拽事件(drag事件),在检测到用户对目录树中的第一目标元素拖拽时,触发上述拖拽事件,通过触发上述拖拽事件,浏览器返回浏览器页面的中心位置startPoint=(x0,y0),其中,x0为横坐标,y0为纵坐标,
并且,在拖拽第一目标元素的过程中浏览器可以一直返回第一目标元素相对于上述中心位置的第一坐标数据:dragingPoint=(x1,y1),同时浏览器还可以返回第二目标元素相对于浏览器的中心位置的第二坐标数据:collisionPoint=(x2,y2),通过获取上述浏览器返回的第一坐标数据和第二坐标数据,并将第一坐标数据和第二坐标数据中的横坐标和纵坐标分别进行比较,即,分别比较第一横坐标x1与第二横坐标x2的大小,第一纵坐标y1与第二纵坐标y2的大小,并根据比较结果确定是否对上述第一目标元素和上述第二目标元素进行排序。
通过上述步骤S102至步骤S106,达到了利用目录树的可拖拽功能实现对目录树中的元素进行排序的目的,从而实现了对目录树层级顺序进行管理的技术效果,进而解决了现有技术中目录树的可拖拽功能无法实现对目录树中的元素进行排序的技术问题。
在一种可选的实施例中,上述第一坐标数据包括:第一横坐标和第一纵坐标,上述第二坐标数据包括:第二横坐标和第二纵坐标;图2是根据本发明实施例的一种可选的目录树中元素的排序方法的流程图,如图2所示,基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序,包括:
步骤S202,比较上述第一横坐标和上述第二横坐标的大小,以及上述第一纵坐标和上述第二纵坐标的大小;
步骤S204,在比较结果为上述第一横坐标不等于上述第二横坐标,和/或,上述第一纵坐标不等于上述第二纵坐标的情况下,对上述第一目标元素和上述第二目标元素进行排序。
可选的,上述第一横坐标不等于上述第二横坐标的情况,包括:第一横坐标大于上述第二横坐标,第一横坐标小于上述第二横坐标;上述第一纵坐标不等于上述第二纵坐标的情况,包括:第一纵坐标大于上述第二纵坐标,第一纵坐标小于上述第二纵坐标。
在一种可选的实施例中,上述第一坐标数据dragingPoint=(第一横坐标x1,第一纵坐标y1),第二坐标数据collisionPoint=(第二横坐标x2,第二纵坐标y2),通过分别比较上述第一横坐标和上述第二横坐标的大小,以及上述第一纵坐标和上述第二纵坐标的大小,并根据比较结果确定是否对上述第一目标元素和上述第二目标元素进行排序,其中,在比较结果为上述第一横坐标不等于上述第二横坐标,和/或,上述第一纵坐标不等于上述第二纵坐标的情况下,对上述第一目标元素和上述第二目标元素进行排序。
在一种可选的实施例中,图3是根据本发明实施例的一种可选的目录树中元素的排序方法的流程图,如图3所示,对上述第一目标元素和上述第二目标元素进行排序,包括:
步骤S302,获取上述第一目标元素的第一起始位置,以及上述第二目标元素的第二起始位置;
步骤S304,将上述第一起始位置和上述第二起始位置进行互换。
其中,上述第一起始位置即在拖拽第一目标元素之前,该第一目标元素所处的位置,上述第二起始位置即在拖拽第一目标元素之前,第二目标元素所处的位置,可以在拖拽第一目标元素之前,预先获取上述第一起始位置和第二起始位置,并存储上述第一起始位置和第二起始位置。
在本申请实施例中,在确定需要对上述第一目标元素和上述第二目标元素进行排序的情况下,获取上述第一目标元素的第一起始位置,以及上述第二目标元素的第二起始位置,并将第一起始位置和第二起始位置进行互换,也即,第一目标元素的当前位置为上述第二起始位置,第二目标元素的当前位置为上述第一起始位置。
在一种可选的实施例中,图4是根据本发明实施例的一种可选的目录树中元素的排序方法的流程图,如图4所示,在检测到对目录树中的第一目标元素拖拽之前,上述方法还包括:
步骤S402,依据目标数据结构生成上述目录树;
步骤S404,通过应用程序编程接口对上述目录树的文档对象模型结构添加上述拖拽事件和拖拽结束事件。
可选的,上述目标数据结构可以为符合预定规则的数据结构,其中,上述目标数据结构包括以下至少之一:上述目录树的类型、上述目录树中的节点的父子关系。
本申请实施例可以发送请求信息至后端服务器,该请求信息用于请求获取目标数据结构,并接收后端服务器返回的目标数据结构,依据上述目标数据结构通过html,css和js生成目录树。
在生成目录树的同时,利用浏览器提供API接口,对目录树的文档对象模型结构所添加的HTML5的拖拽事件(drag事件)和拖拽结束事件,其中,在检测到用户对目录树中的第一目标元素拖拽时,触发上述拖拽事件,在检测到用户停止对目录树中的第一目标元素拖拽时,触发上述拖拽停止事件。
需要说明的是,在本申请实施例中,拖拽事件和拖拽结束事件均可以为浏览器提供的API接口,例如,底层代码<imgsrc='./test.img'ondrop=”myFunction”>为img(在浏览器上的一张图片)添加了一个拖拽事件,一旦拖拽结束后可以触发拖拽结束事件去执行myFunction函数中执行的逻辑。
在一种可选的实施例中,在根据目标数据结构生成上述目录树之前,上述方法还包括:
步骤S502,发送请求信息至服务器,其中,上述服务器依据上述请求信息,确定上述目标数据结构;
步骤S504,接收上述服务器返回的上述目标数据结构。
通过上述步骤S502至步骤S504所提供的步骤,本申请实施例可以发送请求信息至后端服务器,该请求信息用于请求获取目标数据结构,并接收后端服务器返回的目标数据结构,依据上述目标数据结构通过html,css和js生成目录树。
在一种可选的实施例中,上述方法还包括:
步骤S602,检测是否结束对上述第一目标元素的拖拽;
步骤S604,在检测到结束对上述第一目标元素的拖拽时,触发上述拖拽结束事件,以停止获取上述第一坐标数据和上述第二坐标数据。
在上述可选的实施例中,在检测到用户结束对上述第一目标元素的拖拽的情况下,例如,在检测到用户松开了之前按下的鼠标右键,则通过触发上述拖拽结束事件,以停止获取上述第一坐标数据和上述第二坐标数据,即停止对第一目标元素和第二目标元素的排序过程。
在一种可选的实施例中,在对上述第一目标元素和上述第二目标元素进行排序之后,上述方法还包括:
步骤S702,提取排序后的上述目录树中元素的当前排序信息;
步骤S704,依据上述当前排序信息更新上述目录树的原始排序信息。
作为本申请一种可选的实施例方式,在对上述第一目标元素和上述第二目标元素进行排序之后,或者在停止对第一目标元素和第二目标元素的排序之后,可以提取排序后的上述目录树中元素的当前排序信息,并依据上述当前排序信息更新上述目录树的原始排序信息。
通过上述实施例,可以实现对目录树层级顺序进行管理,满足用户对于目录树可拖拽排序的需求。
实施例2
根据本发明实施例,还提供了一种用于实施上述目录树中元素的排序方法的装置实施例,图5是根据本发明实施例的一种目录树中元素的排序装置的结构示意图,如图5所示,上述目录树中元素的排序装置,包括:处理模块50、获取模块52和排序模块54,其中:
处理模块50,用于在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;获取模块52,用于通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;排序模块54,用于基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述处理模块50、获取模块52和排序模块54对应于实施例1中的步骤S102至步骤S106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
上述的目录树中元素的排序装置还可以包括处理器和存储器,上述处理模块50、获取模块52和排序模块54等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本申请实施例,还提供了一种存储介质实施例。可选地,在本实施例中,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行上述任意一种目录树中元素的排序方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述存储介质包括存储的程序。
可选地,在程序运行时控制存储介质所在设备执行以下功能:在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序。
可选地,在程序运行时控制存储介质所在设备执行以下功能:比较上述第一横坐标和上述第二横坐标的大小,以及上述第一纵坐标和上述第二纵坐标的大小;在比较结果为上述第一横坐标不等于上述第二横坐标,和/或,上述第一纵坐标不等于上述第二纵坐标的情况下,对上述第一目标元素和上述第二目标元素进行排序。
可选地,在程序运行时控制存储介质所在设备执行以下功能:获取上述第一目标元素的第一起始位置,以及上述第二目标元素的第二起始位置;将上述第一起始位置和上述第二起始位置进行互换。
可选地,在程序运行时控制存储介质所在设备执行以下功能:依据目标数据结构生成上述目录树,其中,上述目标数据结构包括以下至少之一:上述目录树的类型、上述目录树中的节点的父子关系;通过应用程序编程接口对上述目录树的文档对象模型结构添加上述拖拽事件和拖拽结束事件。
可选地,在程序运行时控制存储介质所在设备执行以下功能:发送请求信息至服务器,其中,上述服务器依据上述请求信息,确定上述目标数据结构;接收上述服务器返回的上述目标数据结构。
可选地,在程序运行时控制存储介质所在设备执行以下功能:检测是否结束对上述第一目标元素的拖拽;在检测到结束对上述第一目标元素的拖拽时,触发上述拖拽结束事件,以停止获取上述第一坐标数据和上述第二坐标数据。
可选地,在程序运行时控制存储介质所在设备执行以下功能:提取排序后的上述目录树中元素的当前排序信息;依据上述当前排序信息更新上述目录树的原始排序信息。
根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种目录树中元素的排序方法。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序。
可选地,上述处理器执行程序时,还可以比较上述第一横坐标和上述第二横坐标的大小,以及上述第一纵坐标和上述第二纵坐标的大小;在比较结果为上述第一横坐标不等于上述第二横坐标,和/或,上述第一纵坐标不等于上述第二纵坐标的情况下,对上述第一目标元素和上述第二目标元素进行排序。
可选地,上述处理器执行程序时,还可以获取上述第一目标元素的第一起始位置,以及上述第二目标元素的第二起始位置;将上述第一起始位置和上述第二起始位置进行互换。
可选地,上述处理器执行程序时,还可以依据目标数据结构生成上述目录树,其中,上述目标数据结构包括以下至少之一:上述目录树的类型、上述目录树中的节点的父子关系;通过应用程序编程接口对上述目录树的文档对象模型结构添加上述拖拽事件和拖拽结束事件。
可选地,上述处理器执行程序时,还可以发送请求信息至服务器,其中,上述服务器依据上述请求信息,确定上述目标数据结构;接收上述服务器返回的上述目标数据结构。
可选地,上述处理器执行程序时,还可以检测是否结束对上述第一目标元素的拖拽;在检测到结束对上述第一目标元素的拖拽时,触发上述拖拽结束事件,以停止获取上述第一坐标数据和上述第二坐标数据。
可选地,上述处理器执行程序时,还可以提取排序后的上述目录树中元素的当前排序信息;依据上述当前排序信息更新上述目录树的原始排序信息。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与上述第一目标元素进行排序的上述目录树中的第二目标元素,并触发拖拽事件;通过触发上述拖拽事件,获取在拖拽过程中上述第一目标元素的第一坐标数据,以及上述第二目标元素的第二坐标数据;基于上述第一坐标数据和上述第二坐标数据,确定是否对上述第一目标元素和上述第二目标元素进行排序。
可选地,上述计算机程序产品执行程序时,还可以比较上述第一横坐标和上述第二横坐标的大小,以及上述第一纵坐标和上述第二纵坐标的大小;在比较结果为上述第一横坐标不等于上述第二横坐标,和/或,上述第一纵坐标不等于上述第二纵坐标的情况下,对上述第一目标元素和上述第二目标元素进行排序。
可选地,上述计算机程序产品执行程序时,还可以获取上述第一目标元素的第一起始位置,以及上述第二目标元素的第二起始位置;将上述第一起始位置和上述第二起始位置进行互换。
可选地,上述计算机程序产品执行程序时,还可以依据目标数据结构生成上述目录树,其中,上述目标数据结构包括以下至少之一:上述目录树的类型、上述目录树中的节点的父子关系;通过应用程序编程接口对上述目录树的文档对象模型结构添加上述拖拽事件和拖拽结束事件。
可选地,上述计算机程序产品执行程序时,还可以发送请求信息至服务器,其中,上述服务器依据上述请求信息,确定上述目标数据结构;接收上述服务器返回的上述目标数据结构。
可选地,上述计算机程序产品执行程序时,还可以检测是否结束对上述第一目标元素的拖拽;在检测到结束对上述第一目标元素的拖拽时,触发上述拖拽结束事件,以停止获取上述第一坐标数据和上述第二坐标数据。
可选地,上述计算机程序产品执行程序时,还可以提取排序后的上述目录树中元素的当前排序信息;依据上述当前排序信息更新上述目录树的原始排序信息。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种目录树中元素的排序方法,其特征在于,包括:
在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与所述第一目标元素进行排序的所述目录树中的第二目标元素,并触发拖拽事件;
通过触发所述拖拽事件,获取在拖拽过程中所述第一目标元素的第一坐标数据,以及所述第二目标元素的第二坐标数据;
基于所述第一坐标数据和所述第二坐标数据,确定是否对所述第一目标元素和所述第二目标元素进行排序;
其中,在检测到对目录树中的第一目标元素拖拽之前,所述方法还包括:
依据目标数据结构生成所述目录树,其中,所述目标数据结构包括以下至少之一:所述目录树的类型、所述目录树中的节点的父子关系;
通过应用程序编程接口对所述目录树的文档对象模型结构添加所述拖拽事件和拖拽结束事件;
其中,所述第一坐标数据包括:第一横坐标和第一纵坐标,所述第二坐标数据包括:第二横坐标和第二纵坐标;基于所述第一坐标数据和所述第二坐标数据,确定是否对所述第一目标元素和所述第二目标元素进行排序,包括:
比较所述第一横坐标和所述第二横坐标的大小,以及所述第一纵坐标和所述第二纵坐标的大小;
在比较结果为所述第一横坐标不等于所述第二横坐标,和/或,所述第一纵坐标不等于所述第二纵坐标的情况下,对所述第一目标元素和所述第二目标元素进行排序;
其中,对所述第一目标元素和所述第二目标元素进行排序,包括:
获取所述第一目标元素的第一起始位置,以及所述第二目标元素的第二起始位置;
将所述第一起始位置和所述第二起始位置进行互换。
2.根据权利要求1所述的方法,其特征在于,在根据目标数据结构生成所述目录树之前,所述方法还包括:
发送请求信息至服务器,其中,所述服务器依据所述请求信息,确定所述目标数据结构;
接收所述服务器返回的所述目标数据结构。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测是否结束对所述第一目标元素的拖拽;
在检测到结束对所述第一目标元素的拖拽时,触发所述拖拽结束事件,以停止获取所述第一坐标数据和所述第二坐标数据。
4.根据权利要求1所述的方法,其特征在于,在对所述第一目标元素和所述第二目标元素进行排序之后,所述方法还包括:
提取排序后的所述目录树中元素的当前排序信息;
依据所述当前排序信息更新所述目录树的原始排序信息。
5.一种目录树中元素的排序装置,其特征在于,包括:
处理模块,用于在检测到对目录树中的第一目标元素拖拽时,通过碰撞检测确定需要与所述第一目标元素进行排序的所述目录树中的第二目标元素,并触发拖拽事件;
获取模块,用于通过触发所述拖拽事件,获取在拖拽过程中所述第一目标元素的第一坐标数据,以及所述第二目标元素的第二坐标数据;
排序模块,用于基于所述第一坐标数据和所述第二坐标数据,确定是否对所述第一目标元素和所述第二目标元素进行排序;
其中,在检测到对目录树中的第一目标元素拖拽之前,所述装置还用于:
依据目标数据结构生成所述目录树,其中,所述目标数据结构包括以下至少之一:所述目录树的类型、所述目录树中的节点的父子关系;
通过应用程序编程接口对所述目录树的文档对象模型结构添加所述拖拽事件和拖拽结束事件;
其中,所述第一坐标数据包括:第一横坐标和第一纵坐标,所述第二坐标数据包括:第二横坐标和第二纵坐标;所述排序模块还用于:
比较所述第一横坐标和所述第二横坐标的大小,以及所述第一纵坐标和所述第二纵坐标的大小;
在比较结果为所述第一横坐标不等于所述第二横坐标,和/或,所述第一纵坐标不等于所述第二纵坐标的情况下,对所述第一目标元素和所述第二目标元素进行排序;
其中,对所述第一目标元素和所述第二目标元素进行排序,包括:
获取所述第一目标元素的第一起始位置,以及所述第二目标元素的第二起始位置;
将所述第一起始位置和所述第二起始位置进行互换。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任意一项所述的目录树中元素的排序方法。
7.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的目录树中元素的排序方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811143185.6A CN110968553B (zh) | 2018-09-28 | 2018-09-28 | 目录树中元素的排序方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811143185.6A CN110968553B (zh) | 2018-09-28 | 2018-09-28 | 目录树中元素的排序方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968553A CN110968553A (zh) | 2020-04-07 |
CN110968553B true CN110968553B (zh) | 2023-07-04 |
Family
ID=70027234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811143185.6A Active CN110968553B (zh) | 2018-09-28 | 2018-09-28 | 目录树中元素的排序方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968553B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966478B (zh) * | 2020-08-18 | 2024-02-20 | 北京百度网讯科技有限公司 | 自定义任务排序方法和设备、电子设备和介质 |
CN112527609B (zh) * | 2021-02-18 | 2021-05-28 | 成都新希望金融信息有限公司 | 预警信息推送方法、装置、电子设备及存储介质 |
CN112799565B (zh) * | 2021-04-09 | 2021-07-16 | 统信软件技术有限公司 | 一种内容列表展示方法及计算设备 |
CN114356188B (zh) * | 2021-12-10 | 2023-11-21 | 深圳市优必选科技股份有限公司 | 一种实现页面元素拖拽的方法及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231645A (zh) * | 2007-01-23 | 2008-07-30 | 鸿富锦精密工业(深圳)有限公司 | 树型目录动态展现系统及方法 |
CN103793144A (zh) * | 2014-02-20 | 2014-05-14 | 广州市久邦数码科技有限公司 | 一种图标拖放排列的实现方法及系统 |
CN105808770A (zh) * | 2016-03-22 | 2016-07-27 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 文件管理的方法及装置 |
CN106020621A (zh) * | 2013-09-16 | 2016-10-12 | 北京奇虎科技有限公司 | 一种智能终端的桌面元素调整方法和装置 |
CN106354366A (zh) * | 2016-08-26 | 2017-01-25 | 乐视控股(北京)有限公司 | 桌面图标排列处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002222239A (ja) * | 2000-11-01 | 2002-08-09 | Heidelberger Druckmaschinen Ag | インタフェース |
-
2018
- 2018-09-28 CN CN201811143185.6A patent/CN110968553B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231645A (zh) * | 2007-01-23 | 2008-07-30 | 鸿富锦精密工业(深圳)有限公司 | 树型目录动态展现系统及方法 |
CN106020621A (zh) * | 2013-09-16 | 2016-10-12 | 北京奇虎科技有限公司 | 一种智能终端的桌面元素调整方法和装置 |
CN103793144A (zh) * | 2014-02-20 | 2014-05-14 | 广州市久邦数码科技有限公司 | 一种图标拖放排列的实现方法及系统 |
CN105808770A (zh) * | 2016-03-22 | 2016-07-27 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 文件管理的方法及装置 |
CN106354366A (zh) * | 2016-08-26 | 2017-01-25 | 乐视控股(北京)有限公司 | 桌面图标排列处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110968553A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110968553B (zh) | 目录树中元素的排序方法及装置 | |
JP6500086B2 (ja) | 二次元コードの解析方法および装置、コンピュータ読み取り可能な記憶媒体、コンピュータプログラムおよび端末機器 | |
CN110688009B (zh) | 一种折叠屏终端的应用程序访问方法及装置 | |
CN101997561A (zh) | 数据传送方法与系统 | |
US10452723B2 (en) | Detecting malformed application screens | |
CN109240664B (zh) | 一种采集用户行为信息的方法及终端 | |
CN108712478A (zh) | 一种分享寄宿应用的方法及设备 | |
US9619134B2 (en) | Information processing device, control method for information processing device, program, and information storage medium | |
CN111597553A (zh) | 病毒查杀中的进程处理方法、装置、设备及存储介质 | |
CN111400575A (zh) | 用户标识生成方法、用户识别方法及其装置 | |
CN107577404B (zh) | 信息处理方法、装置和电子设备 | |
CN111538453B (zh) | 书籍详情页面的显示方法、终端及计算机存储介质 | |
CN110908552B (zh) | 多窗口操作控制方法、装置、设备及存储介质 | |
CN114070847A (zh) | 服务器的限流方法、装置、设备及存储介质 | |
CN111538455B (zh) | 一种页面切换方法及装置 | |
CN105262829B (zh) | 地理位置监控方法和系统 | |
CN111198830B (zh) | 移动存储设备的识别方法、装置、电子设备以及存储介质 | |
CN103294264B (zh) | 数据处理方法及装置 | |
CN103812908A (zh) | 云端文件处理方法以及系统 | |
CN110245208B (zh) | 一种基于大数据存储的检索分析方法、装置及介质 | |
CN111459660A (zh) | 云主机在宿主机上的动态分配方法、电子装置及存储介质 | |
CN108132746B (zh) | 一种图片显示方法、装置和设备 | |
KR102207514B1 (ko) | 맞춤형 필터링 기능이 구비된 스케치 검색 시스템, 사용자 장치, 서비스 제공 장치, 그 서비스 방법 및 컴퓨터 프로그램이 기록된 기록매체 | |
CN112306611B (zh) | 文件复制方法、装置、存储介质和处理器 | |
US20230388260A1 (en) | Storage space optimization for emails |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |