189 8069 5689

javascript实现图片瀑布流的方法-创新互联

什么是图片瀑布流

为沅陵等地区用户提供了全套网页设计制作服务,及沅陵网站建设行业解决方案。主营业务为成都做网站、网站制作、沅陵网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。国内大多数清新站基本为这类风格。

用一张花瓣网页的图片布局可以很清楚看出图片瀑布流的样子:

1、琳琅满目:整版以图片为主,大小不一的图片按照一定的规律排列。

2、唯美:图片的风格以唯美的图片为主。

3、操作简单:在浏览网站的时候只需要轻轻滑动一下鼠标滚轮,一切的美妙的图片精彩便可呈现在你面前。

javascript实现图片瀑布流的方法

简单来说,就是有很多图片平铺在页面上,每张图片的宽度相同,但是高度不同,这样错落有致的排列出 n 列的样子很像瀑布,于是就有了瀑布流图片一说。

实现原理

1、第一种方式

第一种方式前提是:图片的宽度固定,但是列可变(根据屏幕大小)

通过上面的介绍,我们知道要实现瀑布流的前提是宽度一致(假如为100px),高度可以不相同。

我们首先确定排布的列数(假如为4列),那么第一行只能放4张图片,然后将每个图片的高度放入一个数组中(假如为 heightArr = [100,50, 200,30]),当我们在放入下一张图片的时候就要判断这个数组中哪个高度是最小的(这里是30),然后还要知道最小的高度所在高度数组的索引(这里是i = 3),然后我们就可以对这张图片进行定位:

{
    position: absolute;
    left: i*100 + 'px';
    top: 30 + 'px'
}

如此遍历剩下的图片即可。

实现代码

下面是未处理的原始代码,图片之间间隔很多空白,影响美观。




    
    
    
    Document
    


    

javascript实现图片瀑布流的方法

下面是处理后的代码:




    
    
    
    Document
    


    

javascript实现图片瀑布流的方法

2、第二种方式

第二种方式前提是:列是固定的个数,然后图片根据屏幕的宽度进行自适应缩放。

这种方式由于图片是可以缩放的,宽高不好确定,因此不好用定位的方式处理。

我们可以这样处理,既然知道了列,那么每一列做一个容器。然后遍历图片,将图片放入容器高度最小的容器中即可。

这里我们使用js来添加图片,而不是事先写好在html中了。

实现代码





    
    
    
    Document
    







javascript实现图片瀑布流的方法

以上就是js实现图片瀑布流的两种方式(附代码)的详细内容,更多请关注创新互联网站制作公司其它相关文章!


当前文章:javascript实现图片瀑布流的方法-创新互联
转载注明:http://cdxtjz.com/article/pgeei.html

其他资讯