CN105989166B - 瀑布流式显示对象的方法、装置、系统及电子设备 - Google Patents

瀑布流式显示对象的方法、装置、系统及电子设备 Download PDF

Info

Publication number
CN105989166B
CN105989166B CN201510096587.5A CN201510096587A CN105989166B CN 105989166 B CN105989166 B CN 105989166B CN 201510096587 A CN201510096587 A CN 201510096587A CN 105989166 B CN105989166 B CN 105989166B
Authority
CN
China
Prior art keywords
display
waterfall
existing
display order
display area
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
Application number
CN201510096587.5A
Other languages
English (en)
Other versions
CN105989166A (zh
Inventor
赵东禹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510096587.5A priority Critical patent/CN105989166B/zh
Publication of CN105989166A publication Critical patent/CN105989166A/zh
Application granted granted Critical
Publication of CN105989166B publication Critical patent/CN105989166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种瀑布流式显示对象的方法,所述对象是指具有预定尺寸的可显示对象,包括:加载特定对象显示区域包括的所有待显示对象;监听各个与所述待显示对象关联的加载完成事件;当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。

Description

瀑布流式显示对象的方法、装置、系统及电子设备
技术领域
本申请涉及图像显示处理领域,具体涉及一种瀑布流式显示对象的方法、装置和系统。本申请同时涉及一种电子设备。
背景技术
瀑布流(又称瀑布流式布局)是比较流行的一种网站页面布局。瀑布流的视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。
区别于传统的矩阵式图片布局模式,瀑布流页面中的图片具有定宽而不定高的特点。瀑布流页面中的图片的显示逻辑为:根据页面可以显示的图片列数,按照预先设定的图片显示顺序,逐个将待显示的图片插入到当前高度最小的列当中,同时更新当前列的高度,直到所有图片都显示在页面中。由于每幅图片的高度不同,因此,一个图片的实际显示位置取决于在其前面显示的图片的高度。可见,显示瀑布流页面的关键在于:需要获取每幅图片的高度信息,根据每幅图片的高度信息为所有图片进行定位并显示图片。目前,已有的显示瀑布流页面的方法包括以下三种:
1)将每幅图片的高度信息预先写在网页源代码中。
采用该方法,通过网页源代码即可获取每幅图片的高度信息。根据每幅图片的高度信息和预先设定的图片显示顺序,在图片加载前即可计算获取到每幅图片的实际显示位置。在页面的显示过程中,加载完成一个图片便可将其显示在预先确定的实际显示位置。该方法的优点是速度最快、性能最佳。但是该方法的应用前提是,需要服务器预先提供所有图片的高度信息。对于现有服务器而言,该方法无疑是一个改造成本较高的方案。
2)首先加载完成页面包括的所有图片,获取每幅图片的高度信息,然后按照预先设定的图片显示顺序逐个显示图片。
相对方法1,该方法只能在加载完成一个图片后才能获取其高度信息。在这种情况下,如果每幅图片加载完成的顺序和预先设定的图片显示顺序相一致,则可以采用“加载完成一个图片即显示一个图片”的方法显示页面图片。然而,在实际图片加载过程中,每幅图片加载完成的顺序并不确定,无法保证图片加载完成的顺序和预先设定的图片显示顺序相一致。因此,只有在所有图片全部加载完成后,才能根据每幅图片的高度信息和预先设定的图片显示顺序,计算获取到每幅图片的实际显示位置。可见,采用该方法显示瀑布流的页面,只有等待所有的图片全部加载完成后才能开始显示图片。由于一个瀑布流的页面通常包括大量图片,加载完成页面包括的所有图片需要耗费较多时间,因此该方法的速度最慢、性能最差。
3)分批次加载图片,一次加载一屏,鼠标滚动时再加载下一屏,待一屏图片全部加载完成后,按照预先设定的图片显示顺序逐个显示图片。该方法是方法2的优化方法,分批次加载图片解决了一次性加载图片数量过多的问题。但是,仍然存在需要等待一批次中的所有图片全部加载完成后再进行显示的问题。
综上所述,方法1需要将每幅图片的高度信息预先写在网页源代码中,对服务器的改造成本较高,因此不具有实用性。方法2只能等待页面包括的所有图片全部加载完成后才显示图片。方法3与方法2存在相同性质的问题。因此,现有技术存在以瀑布流式布局显示特定图片显示区域中包括的所有图片时,只能等待所有图片全部加载完成后才能够显示图片的问题。
发明内容
本申请提供一种瀑布流式显示对象的方法、装置和系统,以及一种电子设备,以解决现有技术存在以瀑布流式布局显示特定对象显示区域中包括的所有对象时,只能等待所有对象全部加载完成后才能够显示对象的问题。
本申请提供一种瀑布流式显示对象的方法,所述对象是指具有预定尺寸的可显示对象,包括:
加载特定对象显示区域包括的所有待显示对象;
监听各个与所述待显示对象关联的加载完成事件;
当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
可选的,如果所述判断显示顺序排列在所述当前对象之前的待显示对象是否已显示的判断结果为否,则将所述当前对象存储到已加载完成但未显示的待显示对象集合中。
可选的,在所述将所述当前对象显示在所述显示位置处之后,还包括:
判断是否加载完成所有待显示对象;
若上述判断结果为是,则根据所述待显示对象的预定显示顺序,依次将所述已加载完成但未显示的待显示对象集合中的所述已经加载完成但未显示的待显示对象作为当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
可选的,在所述将所述当前对象显示在所述显示位置处之后,还包括:
判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中;
若上述判断结果为是,则将所述下一个待显示对象作为所述当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处;并返回所述判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中的步骤。
可选的,在所述加载特定对象显示区域包括的所有待显示对象之前,还包括:
获取所述特定对象显示区域包括的所有待显示对象的目录。
可选的,所述根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示,采用如下方式:
判断预设的当前显示顺序号是否等于所述当前对象的显示顺序号;
所述当前显示顺序号采用如下方式设置:
当显示所述当前对象后,将所述当前显示顺序号设置为所述当前对象的显示顺序号加一。
可选的,所述瀑布流的流向为纵向流向,所述显示位置为所述对象显示区域中高度最小的列的下方。
可选的,所述根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,包括:
获取所述对象显示区域中各列的高度;
比较所述对象显示区域中各列的高度,将高度最小的列的下方作为所述显示位置。
可选的,所述瀑布流的流向为横向流向,所述显示位置为所述对象显示区域中宽度最小的行的右侧。
可选的,所述根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,包括:
获取所述对象显示区域中各行的宽度;
比较所述对象显示区域中各行的宽度,将宽度最小的行的右侧作为所述显示位置。
可选的,所述待显示对象包括图片。
可选的,所述对象显示区域位于网页中或窗口中。
本申请同时提供一种瀑布流式显示对象的装置,所述对象是指具有预定尺寸的可显示对象,包括:
加载单元,用于加载特定对象显示区域包括的所有待显示对象;
监听单元,用于监听各个与所述待显示对象关联的加载完成事件;
事件处理单元,用于当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
可选的,所述事件处理单元包括:
第一判断子单元,用于当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;
第一计算显示子单元,用于若上述判断结果为是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
可选的,所述事件处理单元还包括:
存储子单元,用于如果所述判断显示顺序排列在所述当前对象之前的待显示对象是否已显示的判断结果为否,则将所述当前对象存储到已加载完成但未显示的待显示对象集合中。
可选的,所述事件处理单元还包括:
第二判断子单元,用于判断是否加载完成所有待显示对象;
第二计算显示子单元,用于若上述判断结果为是,则根据所述待显示对象的预定显示顺序,依次将所述已加载完成但未显示的待显示对象集合中的所述已经加载完成但未显示的待显示对象作为当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
可选的,所述事件处理单元还包括:
第三判断子单元,用于判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中;
第三计算显示子单元,用于若上述判断结果为是,则将所述下一个待显示对象作为所述当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处;并返回所述判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中的步骤。
可选的,所述装置还包括:
获取单元,用于获取所述特定对象显示区域包括的所有待显示对象的目录。
可选的,所述根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示,采用如下方式:
判断预设的当前显示顺序号是否等于所述当前对象的显示顺序号;
所述事件处理单元还包括:
更新子单元,用于当显示所述当前对象后,将所述当前显示顺序号设置为所述当前对象的显示顺序号加一。
可选的,所述瀑布流的流向为纵向流向,所述显示位置为所述对象显示区域中高度最小的列的下方。
可选的,所述事件处理单元还包括:
第一计算子单元,用于根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置;
所述第一计算子单元包括:
获取子单元,用于获取所述对象显示区域中各列的高度;
比较子单元,用于比较所述对象显示区域中各列的高度,将高度最小的列的下方作为所述显示位置。
可选的,所述瀑布流的流向为横向流向,所述显示位置为所述对象显示区域中宽度最小的行的右侧。
可选的,所述事件处理单元还包括:
第二计算子单元,用于根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置;
所述第二计算子单元包括:
获取子单元,用于获取所述对象显示区域中各行的宽度;
比较子单元,用于比较所述对象显示区域中各行的宽度,将宽度最小的行的右侧作为所述显示位置。
本申请同时提供一种瀑布流式显示对象的系统,所述对象是指具有预定尺寸的可显示对象,包括上述任意一项技术方案所述的瀑布流式显示对象的装置。
本申请同时提供一种电子设备,所述电子设备包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储特定对象显示区域包括的所有待显示对象,所述待显示对象是指具有预定尺寸的可显示对象,所述待显示对象被所述处理器加载时,当监听到一个加载完成事件时,将与该加载完成事件关联的所述待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并在所述显示器中将所述当前对象显示在所述显示位置处。
与现有技术相比,本申请具有以下优点:
本申请提供的瀑布流式显示对象的方法、装置及系统,通过在加载特定对象显示区域包括的所有待显示对象的过程中,监听每一个待显示对象关联的加载完成事件,当监听到任意一个加载完成事件发出的加载完成通知后,根据待显示对象的预定显示顺序,判断排在该加载完成事件关联的待显示对象之前的所有图片是否已经显示,若已经显示,则根据瀑布流的流向和显示顺序排列在该加载完成事件关联的待显示对象之前的待显示对象的尺寸,计算该加载完成事件关联的待显示对象在对象显示区域中的显示位置,并将该加载完成事件关联的待显示对象显示在计算得到的显示位置处。由于本申请提供的瀑布流式显示对象的方法是在对象加载过程中,根据预定的显示条件判断是否能够显示当前加载完成的对象,无需等待所有对象均加载完成后才开始显示对象,能够边加载边显示对象,有效利用了对象加载的时间,从而达到提高对象的显示效率的效果。
附图说明
图1是本申请的瀑布流式显示对象的方法实施例的流程图;
图2是本申请的瀑布流式显示对象的方法实施例A步骤S105的具体流程图;
图3是本申请的瀑布流式显示对象的方法实施例B步骤S105的具体流程图;
图4是本申请的瀑布流式显示对象的装置实施例的流程图;
图5是本申请的瀑布流式显示对象的装置实施例A显示单元105的具体示意图;
图6是本申请的瀑布流式显示对象的装置实施例B显示单元105的具体流程图;
图7是本申请的电子设备实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了一种瀑布流式显示对象的方法、装置和系统,以及一种电子设备。在下面的实施例中逐一进行详细说明。
本申请提供的瀑布流式显示对象的方法,是基于这样一种设计构思,即:在加载特定对象显示区域包括的所有待显示对象的过程中,监听每一个待显示对象关联的加载完成事件,当监听到任意一个加载完成事件发出的加载完成通知后,根据待显示对象的预定显示顺序,判断排在该加载完成事件关联的待显示对象之前的所有对象是否已经显示,若已经显示,则根据瀑布流的流向和显示顺序排列在该加载完成事件关联的待显示对象之前的待显示对象的尺寸,计算该加载完成事件关联的待显示对象在对象显示区域中的显示位置,并将该加载完成事件关联的待显示对象显示在计算得到的显示位置处。由于本申请提供的瀑布流式显示对象的方法是在对象加载过程中,根据预定的显示条件判断是否能够显示当前加载完成的对象,无需等待所有对象均加载完成后才开始显示对象,因而能够提高对象的显示效率。
请参考图1,其为本申请的瀑布流式显示对象的方法实施例的流程图。所述方法包括如下步骤:
步骤S101:加载特定对象显示区域包括的所有待显示对象。
传统的瀑布流式布局是一个狭义的瀑布流概念,即:在显示区域中以纵向瀑布流式布局显示每一个对象,每一个对象具有定宽且不定高的特点。顾名思义,纵向瀑布流式布局的显示效果为由上到下的瀑布流般的显示效果。而在本申请提供的瀑布流式显示对象的方法中,所述的瀑布流式是一个广义的瀑布流概念,即:在显示区域中以纵向或横向两种瀑布流式布局显示对象。其中,横向瀑布流式布局的显示效果为自左向右的瀑布流般的显示效果,横向瀑布流式布局中的每一个对象具有定高且不定宽的特点。以纵向或横向瀑布流式显示对象的设计构思完全相同,二者区别仅在于计算对象显示位置的方法不同。
本申请所述的待显示对象是指具有预定尺寸的可显示对象。待显示对象至少具有两个特征:1)具有预定尺寸,即待显示对象本身固有的尺寸,例如待显示对象为图片,则图片本身具有固定的尺寸;2)具有预定显示顺序,即每一个待显示对象必须按照为其预定的显示顺序,依次进行显示,其显示位置取决于显示顺序排在它之前的所有对象的尺寸。因此,只要具有上述两个特征的待显示对象即可应用本申请实施例提供的瀑布流式显示对象的方法,在对象显示区域中以瀑布流式的布局显示每一个对象。在本实施例中,待显示对象为图片,相应的对象显示区域为图片显示区域。
本申请实施例提供的瀑布流式显示对象的方法,是在对象显示区域中以瀑布流式布局显示待显示对象。与传统的矩阵式对象布局模式的对象具有定宽且定高的特点不同,以纵向瀑布流式布局显示的待显示对象具有定宽而不定高的特点,以横向瀑布流式布局显示的待显示对象具有定宽而不定高的特点。由于以纵向瀑布流式布局显示的待显示对象具有定宽而不定高的特点,因此纵向瀑布流式显示对象中所述的对象显示区域可以包括预定的多列显示区域,在为待显示对象定位时,不涉及行的概念,只需将其插入到当前高度最小的列下方既可,由此保证瀑布流式错落有致的图片显示效果。同理,由于以横向瀑布流式布局显示的待显示对象具有定高而不定宽的特点,因此横向瀑布流式显示对象中所述的对象显示区域可以包括预定的多行显示区域,在为待显示对象定位时,不涉及列的概念,只需将其插入到当前宽度最小的行右侧既可,由此保证瀑布流式错落有致的图片显示效果。
本申请实施例所述的对象显示区域既可以位于网页中,也可以位于一般窗口中;既可以是一个网页或窗口中的全部区域,也可以是一个网页或窗口中的部分指定区域,例如:一个网页中的屏幕可见区域。上述这些不同的方式,都只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。
在计算机相关领域,加载就是把存储在硬盘上的有用文件及信息读取到内存中的过程。要加载特定对象显示区域包括的所有待显示对象,首先需要获取对象显示区域包括的所有待显示对象的目录。因此,在步骤S101之前,还包括:
步骤S100:获取所述特定对象显示区域包括的所有待显示对象的目录。
在实际应用中,通常根据具体的业务需求,由计算机程序自动获取对象显示区域包括的所有待显示对象的目录。在获取到对象显示区域包括的所有待显示对象的目录后,根据待显示对象的存储地址将待显示对象读取到内存中。
在本实施例中,图片显示区域被指定为一个网页中的屏幕可见区域。因此,待显示图片的存储地址是统一资源定位符。通过待显示图片的统一资源定位符,将存储在服务器端的待显示图片读取到客户端内存中。
要实现瀑布流式显示对象的效果,需要预先为每一个待显示对象指定对象显示顺序。在实际应用中,可以根据具体的业务需求,为对象显示区域包括的所有待显示对象预先定义对象显示顺序,以便于能够根据预定的显示顺序,逐个为每个待显示对象定位并显示。
在加载特定对象显示区域包括的所有待显示对象后,就可以进入步骤S103监听各个与待显示对象关联的加载完成事件。
步骤S103:监听各个与所述待显示对象关联的加载完成事件。
本申请实施例提供的瀑布流式显示对象的方法,通过采用观察者模式实现事件处理系统。观察者模式又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式,是软件设计模式的一种。在观察者模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知,通常透过呼叫各观察者所提供的方法来管理各个观察者,各个观察者根据通知主动更新自己。
在本实施例中,图片显示区域是一个网页中的屏幕可见区域,因此网页是观察者,各个与待显示图片关联的加载完成事件是被观察者。当网页监听到一个加载完成事件发送的加载完成通知时,网页提供的事件处理程序能够自动判断该加载完成事件关联的待显示图片是否满足预设的显示条件,即:显示顺序排在该待显示图片之前的上一个待显示图片已显示,若满足显示条件,则立即将该加载完成事件关联的待显示图片插入到图片显示区域中高度最小的列的下方显示。以网页中的图片元素<img src="url"onload="displayImg()"/>为例,onload事件即加载完成事件,该事件会在图片加载完成后立即发生,displayImg为事件处理程序,规定onload事件发生时执行的JavaScript程序代码。
步骤S105:当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
步骤S105实质为事件处理程序,包括了当监听到一个加载完成事件时的所有处理步骤。以纵向瀑布流式显示对象的逻辑为:按照预先设定的对象显示顺序,逐个将待显示的对象定位到对象显示区域中当前高度最小的列的下方显示。由于每个待显示对象的高度不同,因此,一个待显示对象的实际显示位置取决于在其前面显示的所有对象的高度。
以纵向瀑布流式显示对象的现有技术是,在所有待显示对象全部加载完成后,根据获取的所有待显示对象的高度信息,定位并显示所有待显示对象。通过分析可知,实质上只要排在当前加载完成的待显示对象之前的对象全部定位后,就可以定位当前加载完成的待显示对象的显示位置,而不必等待所有待显示对象全部加载完成后,再统一为它们定位并显示。基于上述分析,形成了本申请实施例提供的瀑布流式显示对象的方法的设计构思。
在本实施例中,步骤S105包括如下步骤:
步骤S1051:将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示。
通过步骤S1051,在待显示对象加载过程中,当监听到任意一个与待显示对象关联的加载完成事件时,根据待显示对象的预定显示顺序,判断显示顺序排列在当前待显示对象之前的其它待显示对象是否已经全部显示。如果排在前面的待显示对象已经全部显示,则将当前待显示对象显示在对象显示区域中高度最小的列的下方。
在以纵向瀑布流式显示对象时,由于一个待显示对象的实际显示位置取决于在其前面显示的所有对象的高度,因此只要排列在当前对象之前的上一个待显示图片已显示,就可以定位显示当前对象。可见,步骤S1051判断显示顺序排列在所述当前对象之前的待显示对象是否已显示,可以采用如下方式,即:判断显示顺序排列在所述当前对象之前的上一个待显示对象是否已显示。
在本实施例中,步骤S1051所述的根据所述待显示图片的预定显示顺序,判断显示顺序排列在所述当前图片之前的待显示图片是否已显示,采用如下具体方式实现,即:判断预设的当前显示顺序号是否等于所述当前对象的显示顺序号。
本申请实施例所述的当前显示顺序号实质是一个标志位,用于记录当前应该显示的对象顺序号,其初始值为1,即:首先应该显示顺序号为1的对象。当显示当前对象后,自动将所述当前显示顺序号累计加一。例如,当监听到显示顺序号为1的待显示对象关联的加载完成事件发出的加载完成通知时,判断当前显示顺序号是否等于该对象的显示顺序号,由于相等则显示该对象,并将当前显示顺序号更新为2,表示显示顺序号为2之前的对象(不包括显示顺序号为2的对象)均已显示完毕。
步骤S1053:若上述判断结果为是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
如果瀑布流的流向为纵向,则将所述当前对象显示在所述对象显示区域中高度最小的列的下方。步骤S1053所述的根据所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,具体包括如下步骤:1)获取所述对象显示区域中各列的高度;2)比较所述对象显示区域中各列的高度,将高度最小的列的下方作为所述显示位置。
如果瀑布流的流向为横向,则将所述当前对象显示在所述对象显示区域中宽度最小的行的右侧。步骤S1053所述的根据所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,具体包括如下步骤:1)获取所述对象显示区域中各行的宽度;2)比较所述对象显示区域中各行的宽度,将宽度最小的行的右侧作为所述显示位置。
步骤S1054:若上述判断结果为否,则将所述当前对象存储到已加载完成但未显示的待显示对象集合中。
在待显示对象加载过程中,当监听到任意一个与待显示对象关联的加载完成事件时,如果所述判断预定的对象显示顺序排列在所述当前对象之前的待显示对象是否已显示的判断结果为否,即:当前对象不符合预设的显示条件,则将所述当前对象存储到已加载完成但未显示的待显示对象集合中,以便当所有对象均加载完成后,再统一处理这些已加载完成但未显示的待显示对象。
本申请实施例所述的已加载完成但未显示的待显示对象,可以采用JSON数据交换格式存储,还可以存储在普通的数组对象中。JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,易于人阅读和编写,同时也易于机器解析和生成。基于这些特性使JSON成为理想的数据交换语言,因此优选JSON数据交换格式。
在本实施例中,采用JSON数据交换格式保存加载完成但未显示的待显示图片DOM对象。JSON数据的书写格式是:名称/值对。当一个待显示图片加载完成时,获取该图片的预定显示顺序,并将其与当前显示顺序号进行比较,如果二者不相等,则将该待显示图片DOM对象存入JSON数据交换格式中,存储的数据为一个名称/值对,其中名称为图片的预定显示顺序号,值为图片DOM对象,二者组成一对数据。例如:在一个JSON对象{“8”:imagElement,“9”:imagElement,“10”:imagElement}中,存储了3个加载完成但未显示的所有待显示图片的DOM对象及其显示顺序号。采用JSON对象,可以方便的通过“对象名[key]”的方式查找相应的图片DOM对象,其中key为图片的预定显示顺序号。同时,在显示某个图片DOM对象后,将其从JSON对象中删除,以便节省内存。
下面给出一个示例,用于说明本申请实施例提供的方法的具体处理过程。例如,图片显示区域中包括10个待显示图片,预定的显示顺序号为1-10;在实际加载过程中,10张图片全部加载完成的先后顺序为3、4、1、5、2、7、10、8、6、9,那么通过实施本申请提供的方法,在所有待显示图片全部加载完成后,已经显示在图片显示区域中的图片的序号为1和2,还未显示的图片的序号为3-10,最后再统一将序号为3-10的图片显示到图片显示区域中。具体过程详见表一:
表一、实施例A的具体处理过程
通过表一可见,本申请提供的方法在所有对象加载完成前,能够预先显示一部分符合条件的对象,从而在一定程度上提高了对象显示效率。
通过步骤S1051和步骤S1053,能够在所有对象加载完成前,显示一部分符合条件的对象。为了能够将对象显示区域包括的所有待显示对象全部显示,还需要将已经加载完成但未显示的对象显示出来。
请参考图2,其为本申请的瀑布流式显示对象的方法实施例A步骤S105的具体流程图。在步骤S105中所述的根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处之后,还包括:
步骤S1055:判断是否加载完成所有待显示对象。
步骤S1056:若上述判断结果为是,则根据所述待显示对象的预定显示顺序,依次将所述已加载完成但未显示的待显示对象集合中的所述已经加载完成但未显示的待显示对象作为当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
当加载完成所有待显示对象后,通过步骤S1055和步骤S1056对已经加载完成但未显示的待显示对象进行统一处理。步骤S1055首先判断是否加载完成所有待显示对象,在本实施例中,所述判断是否加载完成所有待显示对象,采用如下方式:判断加载完成对象的累计数量是否等于所述待显示对象的总数量。
本申请实施例所述的加载完成对象的累计数量实质是一个标志位,用于记录当前加载完成的对象数量,其初始值为0。当监听到一个加载完成通知时,自动将所述加载完成对象的累计数量累计加一。
本实施例中,步骤S1056所述的根据所述待显示对象的预定显示顺序,依次将所述已加载完成但未显示的待显示对象集合中的所述已经加载完成但未显示的待显示对象作为当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处,具体包括如下步骤:1)以所述显示顺序的升序方式,对所述已经加载完成但未显示的待显示对象排序;2)遍历排序后的所述已经加载完成但未显示的待显示对象,将所述已经加载完成但未显示的待显示对象作为所述当前对象,并根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
请参考图3,其为本申请的瀑布流式显示对象的方法实施例B步骤S105的具体流程图,实施例B是一个优选实施例。为了能够进一步提高对象显示效率,在本实施例中,在步骤S1053所述的根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处之后,还包括:
步骤S1057:判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中。
步骤S1058:若上述判断结果为是,则将所述下一个待显示对象作为所述当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处;并返回所述判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中的步骤。
通过步骤S1057和步骤S1058,在每监听到一个加载完成通知时,如果当前对象符合显示条件,则不仅显示该对象,同时还要进一步判断在此之前是否已经加载完成所述显示顺序排在所述当前对象之后的下一个待显示对象。显然地,如果判断结果为是,则在显示当前对象后,当前对象之后的下一个待显示对象也符合显示条件,可以对其进行定位并显示,而无需等待所有对象加载完成后再统一处理。
对于实施例A中给出的例子,通过实施例B提供的方法,即:在步骤S1051和步骤S1053的基础上,通过步骤S1057和步骤S1058的处理,在所有待显示图片全部加载完成后,已经显示到图片显示区域中的图片序号为1、2、3、4、5、6、7、8,待显示的图片的序号为9-10,最后再将序号为9-10的图片显示到图片显示区域中。具体过程详见表二:
表二、实施例B的具体处理过程
通过上述分析可知,实施例B通过步骤S1051、步骤S1053、步骤S1054、步骤S1057和步骤S1058的处理,能够在加载完成所有对象前,显示更多的对象,从而极大地提高对象显示效率。
本申请提供的瀑布流式显示对象的方法、装置及系统,通过在加载特定对象显示区域包括的所有待显示对象的过程中,监听每一个待显示对象关联的加载完成事件,当监听到任意一个加载完成事件发出的加载完成通知后,根据待显示对象的预定显示顺序,判断排在该加载完成事件关联的待显示对象之前的所有图片是否已经显示,若已经显示,则根据瀑布流的流向和显示顺序排列在该加载完成事件关联的待显示对象之前的待显示对象的尺寸,计算该加载完成事件关联的待显示对象在对象显示区域中的显示位置,并将该加载完成事件关联的待显示对象显示在计算得到的显示位置处。由于本申请提供的瀑布流式显示对象的方法是在对象加载过程中,根据预定的显示条件判断是否能够显示当前加载完成的对象,无需等待所有对象均加载完成后才开始显示对象,能够边加载边显示对象,有效利用了对象加载的时间,从而达到提高对象的显示效率的效果。
在上述的实施例中,提供了一种瀑布流式显示对象的方法,与之相对应的,本申请还提供一种瀑布流式显示对象的装置。该装置是与上述瀑布流式显示对象的方法的实施例相对应。
请参看图4,其为本申请的瀑布流式显示对象的装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种瀑布流式显示对象的装置,包括:加载单元101,用于加载特定对象显示区域包括的所有待显示对象;监听单元103,用于监听各个与所述待显示对象关联的加载完成事件;事件处理单元105,用于当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
可选的,所述事件处理单元105包括:
第一判断子单元1051,用于当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;
第一计算显示子单元1053,用于若上述判断结果为是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
可选的,所述事件处理单元105还包括:
存储子单元1054,用于如果所述判断显示顺序排列在所述当前对象之前的待显示对象是否已显示的判断结果为否,则将所述当前对象存储到已加载完成但未显示的待显示对象集合中。
可选的,所述事件处理单元105还包括:
第二判断子单元1055,用于判断是否加载完成所有待显示对象;
第二计算显示子单元1056,用于若上述判断结果为是,则根据所述待显示对象的预定显示顺序,依次将所述已加载完成但未显示的待显示对象集合中的所述已经加载完成但未显示的待显示对象作为当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
可选的,所述事件处理单元105还包括:
第三判断子单元1057,用于判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中;
第三计算显示子单元1058,用于若上述判断结果为是,则将所述下一个待显示对象作为所述当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处;并返回所述判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中的步骤。
可选的,所述装置还包括:
获取单元100,用于获取所述特定对象显示区域包括的所有待显示对象的目录。
可选的,所述根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示,采用如下方式:
判断预设的当前显示顺序号是否等于所述当前对象的显示顺序号;
所述事件处理单元105还包括:
更新子单元,用于当显示所述当前对象后,将所述当前显示顺序号设置为所述当前对象的显示顺序号加一。
可选的,所述瀑布流的流向为纵向流向,所述显示位置为所述对象显示区域中高度最小的列的下方。
可选的,所述事件处理单元105还包括:
第一计算子单元,用于根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置;
所述第一计算子单元包括:
获取子单元,用于获取所述对象显示区域中各列的高度;
比较子单元,用于比较所述对象显示区域中各列的高度,将高度最小的列的下方作为所述显示位置。
可选的,所述瀑布流的流向为横向流向,所述显示位置为所述对象显示区域中宽度最小的行的右侧。
可选的,所述事件处理单元105还包括:
第二计算子单元,用于根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置;
所述第二计算子单元包括:
获取子单元,用于获取所述对象显示区域中各行的宽度;
比较子单元,用于比较所述对象显示区域中各行的宽度,将宽度最小的行的右侧作为所述显示位置。
此外,本申请实施例还提供了一种瀑布流式显示对象的系统,包括上述实施例所述的瀑布流式显示对象的装置。
本申请实施例还提供了一种电子设备,如图7所示,该电子设备包括:显示器701;处理器702;以及存储器703,所述存储器703被配置成存储特定对象显示区域包括的所有待显示对象,所述待显示对象是指具有预定尺寸的可显示对象,所述待显示对象被所述处理器702加载时,当监听到一个加载完成事件时,将与该加载完成事件关联的所述待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并在所述显示器701中将所述当前对象显示在所述显示位置处。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (25)

1.一种瀑布流式显示对象的方法,所述对象是指具有预定尺寸的可显示对象,其特征在于,包括:
加载特定对象显示区域包括的所有待显示对象;
监听各个与所述待显示对象关联的加载完成事件;
当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
2.根据权利要求1所述的瀑布流式显示对象的方法,其特征在于,如果所述判断显示顺序排列在所述当前对象之前的待显示对象是否已显示的判断结果为否,则将所述当前对象存储到已加载完成但未显示的待显示对象集合中。
3.根据权利要求2所述的瀑布流式显示对象的方法,其特征在于,在所述将所述当前对象显示在所述显示位置处之后,还包括:
判断是否加载完成所有待显示对象;
若上述判断结果为是,则根据所述待显示对象的预定显示顺序,依次将所述已加载完成但未显示的待显示对象集合中的所述已经加载完成但未显示的待显示对象作为当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
4.根据权利要求2所述的瀑布流式显示对象的方法,其特征在于,在所述将所述当前对象显示在所述显示位置处之后,还包括:
判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中;
若上述判断结果为是,则将所述下一个待显示对象作为所述当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处;并返回所述判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中的步骤。
5.根据权利要求1所述的瀑布流式显示对象的方法,其特征在于,在所述加载特定对象显示区域包括的所有待显示对象之前,还包括:
获取所述特定对象显示区域包括的所有待显示对象的目录。
6.根据权利要求1所述的瀑布流式显示对象的方法,其特征在于,所述根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示,采用如下方式:
判断预设的当前显示顺序号是否等于所述当前对象的显示顺序号;
所述当前显示顺序号采用如下方式设置:
当显示所述当前对象后,将所述当前显示顺序号设置为所述当前对象的显示顺序号加一。
7.根据权利要求1-6任意一项所述的瀑布流式显示对象的方法,其特征在于,所述瀑布流的流向为纵向流向,所述显示位置为所述对象显示区域中高度最小的列的下方。
8.根据权利要求7所述的瀑布流式显示对象的方法,其特征在于,所述根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,包括:
获取所述对象显示区域中各列的高度;
比较所述对象显示区域中各列的高度,将高度最小的列的下方作为所述显示位置。
9.根据权利要求1-6任意一项所述的瀑布流式显示对象的方法,其特征在于,所述瀑布流的流向为横向流向,所述显示位置为所述对象显示区域中宽度最小的行的右侧。
10.根据权利要求9所述的瀑布流式显示对象的方法,其特征在于,所述根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,包括:
获取所述对象显示区域中各行的宽度;
比较所述对象显示区域中各行的宽度,将宽度最小的行的右侧作为所述显示位置。
11.根据权利要求1-6任意一项所述的瀑布流式显示对象的方法,其特征在于,所述待显示对象包括图片。
12.根据权利要求1-6任意一项所述的瀑布流式显示对象的方法,其特征在于,所述对象显示区域位于网页中或窗口中。
13.一种瀑布流式显示对象的装置,所述对象是指具有预定尺寸的可显示对象,其特征在于,包括:
加载单元,用于加载特定对象显示区域包括的所有待显示对象;
监听单元,用于监听各个与所述待显示对象关联的加载完成事件;
事件处理单元,用于当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
14.根据权利要求13所述的瀑布流式显示对象的装置,其特征在于,所述事件处理单元包括:
第一判断子单元,用于当监听到一个加载完成事件时,将与该加载完成事件关联的待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;
第一计算显示子单元,用于若上述判断结果为是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
15.根据权利要求14所述的瀑布流式显示对象的装置,其特征在于,所述事件处理单元还包括:
存储子单元,用于如果所述判断显示顺序排列在所述当前对象之前的待显示对象是否已显示的判断结果为否,则将所述当前对象存储到已加载完成但未显示的待显示对象集合中。
16.根据权利要求14所述的瀑布流式显示对象的装置,其特征在于,所述事件处理单元还包括:
第二判断子单元,用于判断是否加载完成所有待显示对象;
第二计算显示子单元,用于若上述判断结果为是,则根据所述待显示对象的预定显示顺序,依次将所述已加载完成但未显示的待显示对象集合中的所述已经加载完成但未显示的待显示对象作为当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处。
17.根据权利要求14所述的瀑布流式显示对象的装置,其特征在于,所述事件处理单元还包括:
第三判断子单元,用于判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中;
第三计算显示子单元,用于若上述判断结果为是,则将所述下一个待显示对象作为所述当前对象,并根据所述瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并将所述当前对象显示在所述显示位置处;并返回所述判断所述显示顺序排在所述当前对象之后的下一个待显示对象是否在所述已加载完成但未显示的待显示对象集合中的步骤。
18.根据权利要求13所述的瀑布流式显示对象的装置,其特征在于,所述装置还包括:
获取单元,用于获取所述特定对象显示区域包括的所有待显示对象的目录。
19.根据权利要求13所述的瀑布流式显示对象的装置,其特征在于,所述根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示,采用如下方式:
判断预设的当前显示顺序号是否等于所述当前对象的显示顺序号;
所述事件处理单元还包括:
更新子单元,用于当显示所述当前对象后,将所述当前显示顺序号设置为所述当前对象的显示顺序号加一。
20.根据权利要求13-19任意一项所述的瀑布流式显示对象的装置,其特征在于,所述瀑布流的流向为纵向流向,所述显示位置为所述对象显示区域中高度最小的列的下方。
21.根据权利要求20所述的瀑布流式显示对象的装置,其特征在于,所述事件处理单元还包括:
第一计算子单元,用于根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置;
所述第一计算子单元包括:
获取子单元,用于获取所述对象显示区域中各列的高度;
比较子单元,用于比较所述对象显示区域中各列的高度,将高度最小的列的下方作为所述显示位置。
22.根据权利要求13-19任意一项所述的瀑布流式显示对象的装置,其特征在于,所述瀑布流的流向为横向流向,所述显示位置为所述对象显示区域中宽度最小的行的右侧。
23.根据权利要求22所述的瀑布流式显示对象的装置,其特征在于,所述事件处理单元还包括:
第二计算子单元,用于根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置;
所述第二计算子单元包括:
获取子单元,用于获取所述对象显示区域中各行的宽度;
比较子单元,用于比较所述对象显示区域中各行的宽度,将宽度最小的行的右侧作为所述显示位置。
24.一种瀑布流式显示对象的系统,所述对象是指具有预定尺寸的可显示对象,其特征在于,包括上述任意一项所述的瀑布流式显示对象的装置。
25.一种电子设备,其特征在于,所述电子设备包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储特定对象显示区域包括的所有待显示对象,所述待显示对象是指具有预定尺寸的可显示对象,所述待显示对象被所述处理器加载时,当监听到一个加载完成事件时,将与该加载完成事件关联的所述待显示对象作为当前对象,根据所述待显示对象的预定显示顺序,判断显示顺序排列在所述当前对象之前的待显示对象是否已显示;若是,则根据瀑布流的流向和所述显示顺序排列在所述当前对象之前的待显示对象的尺寸,计算所述当前对象在所述对象显示区域中的显示位置,并在所述显示器中将所述当前对象显示在所述显示位置处。
CN201510096587.5A 2015-03-04 2015-03-04 瀑布流式显示对象的方法、装置、系统及电子设备 Active CN105989166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510096587.5A CN105989166B (zh) 2015-03-04 2015-03-04 瀑布流式显示对象的方法、装置、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510096587.5A CN105989166B (zh) 2015-03-04 2015-03-04 瀑布流式显示对象的方法、装置、系统及电子设备

Publications (2)

Publication Number Publication Date
CN105989166A CN105989166A (zh) 2016-10-05
CN105989166B true CN105989166B (zh) 2019-06-21

Family

ID=57038722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510096587.5A Active CN105989166B (zh) 2015-03-04 2015-03-04 瀑布流式显示对象的方法、装置、系统及电子设备

Country Status (1)

Country Link
CN (1) CN105989166B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649639A (zh) * 2016-12-08 2017-05-10 珠海市魅族科技有限公司 一种页面显示方法及设备
CN106991016B (zh) * 2017-03-24 2020-08-28 北京金山安全软件有限公司 信息的显示方法、装置和电子设备
CN107766528B (zh) * 2017-10-24 2021-09-28 深圳市雷鸟网络传媒有限公司 瀑布流页面的数据加载方法、终端和计算机可读存储介质
CN108305051A (zh) * 2018-02-09 2018-07-20 网易(杭州)网络有限公司 邮件展示方法、介质、系统和电子设备
CN110445881B (zh) * 2019-09-19 2022-03-11 聚好看科技股份有限公司 数据传输方法、装置及系统
CN111783007B (zh) * 2020-07-31 2022-05-24 迈普通信技术股份有限公司 一种显示渲染方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544207A (zh) * 2013-08-19 2014-01-29 Tcl集团股份有限公司 一种图片加载显示的方法与系统
CN103544253A (zh) * 2013-10-15 2014-01-29 Tcl集团股份有限公司 一种以瀑布流方式显示图片的实现方法及系统
CN103702216A (zh) * 2013-12-12 2014-04-02 乐视网信息技术(北京)股份有限公司 一种智能终端及其显示视频图片的方法
CN103902318A (zh) * 2012-12-30 2014-07-02 青岛海尔软件有限公司 基于Android平台的图片加载方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223246B2 (en) * 2012-07-30 2019-03-05 Infosys Limited System and method for functional test case generation of end-to-end business process models

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902318A (zh) * 2012-12-30 2014-07-02 青岛海尔软件有限公司 基于Android平台的图片加载方法
CN103544207A (zh) * 2013-08-19 2014-01-29 Tcl集团股份有限公司 一种图片加载显示的方法与系统
CN103544253A (zh) * 2013-10-15 2014-01-29 Tcl集团股份有限公司 一种以瀑布流方式显示图片的实现方法及系统
CN103702216A (zh) * 2013-12-12 2014-04-02 乐视网信息技术(北京)股份有限公司 一种智能终端及其显示视频图片的方法

Also Published As

Publication number Publication date
CN105989166A (zh) 2016-10-05

Similar Documents

Publication Publication Date Title
CN105989166B (zh) 瀑布流式显示对象的方法、装置、系统及电子设备
EP3608795A1 (en) Method and apparatus for generating knowledge graph, device and computer readable storage medium
US10620816B2 (en) System for displaying elements of a scrollable list
WO2016173436A1 (zh) 一种信息展示方法及装置
EP3161610B1 (en) Optimized browser rendering process
CN106055612B (zh) 一种数据分页显示方法及终端设备
US10885085B2 (en) System to organize search and display unstructured data
CN105512099B (zh) 一种甘特图的生成方法及装置
KR20150095658A (ko) 수정 동안 콘텐츠의 영역의 레이아웃 유지 기법
EP3408752B1 (en) Object management and visualization using a computing device
CN107704604A (zh) 一种消息持久化方法、服务器和计算机可读存储介质
JP5612557B2 (ja) 表のセルの高さを決定する方法、コンピューター読取可能媒体及びシステム
CN108089858B (zh) 一种创建可视化界面的方法及装置
CN114610295A (zh) 一种页面容器的布局方法、装置、设备及介质
CN110297957A (zh) 一种数据处理的方法及装置、电子设备、存储介质
US20160048279A1 (en) Content display control apparatus and content display control method
CN110598026B (zh) 图片列表的显示方法、装置及终端设备
CN112579084A (zh) 一种页面的拼装方法及装置
CN105389308A (zh) 网页的显示处理方法及装置
CN103634204B (zh) 一种微信墙消息的显示方法及系统
CN116011955A (zh) 一种机器人流程自动化需求实现方法、装置、设备和存储介质
EP3144896B1 (en) Multi-representation dependency graphs
CN107015733B (zh) 选项信息呈现系统及方法
US20190391718A1 (en) System and method for managing a scrolling operation
JP2006107385A (ja) 投稿記事抽出方法及び装置及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant