vue 瀑布流实现
<div class="myWrite" v-if="list.length==0"> - 这个福宝有点懒哦 - </div>
<div v-else class="list">
<ul ref="waterfallsLeft" class="listCon waterfallsLeft" style="float:left;">
</ul>
<ul ref="waterfallsRight" class="listCon waterfallsRight" style="float:right">
</ul>
<ul ref="items" class="listCon" style="margin-left: 0px; margin-right: 0px;">
<li class="gift" v-for="(item,index) in list" :key='index'>
<div class="giftCon">
<div class="top"><img :src="item.imgUrl" alt="" width="100%"></div>
<div class="bottom"><p class="fl"><span class="giftname">{{item.title}}</span><span class=""><img src="" alt=""> </span></p><span class="fr likesNum">{{item.likes}}</span><span class="btn fr" v-bind:class="{btn_like:item.isLike}" @click="addLike(item.id,index)"></span></div>
</div>
</li>
</ul>
</div>
export defalut{
data(){
return {
leftHeight: 0,
rightHeight: 0
}
},
methods:{
// 瀑布流
// 瀑布流
waterfalls () {
const _this = this
setTimeout(() => {
this.list.forEach((v, index) => {
let val = _this.$refs.items.children[0]
let $img = val.children[0].children[0].children[0]
if ($img.complete) {
_this.$refs.items.removeChild(val)
_this.addItems(val);
} else {
_this.addItems(val)
}
})
})
},
addItems (val) {
const $l = this.$refs.waterfallsLeft,
$r = this.$refs.waterfallsRight,
_this = this
if(_this.leftHeight <= _this.rightHeight){
$l.appendChild(val)
_this.leftHeight = $l.offsetHeight
}else{
$r.appendChild(val)
_this.rightHeight = $r.offsetHeight
}
},
//请求放产品的列表回调成功的里填上
this.list=success.data.list
this.$nextTick(function () {
this.waterfalls()
})
}
}
vue 瀑布流实现的更多相关文章
- 自己实现vue瀑布流组件,含详细注释
我知道vue有瀑布流插件vue-waterfall-easy,但是使用的时候与我的预期有部分别,所以就自己动手写了这个组件 人和动物的根本区别是是否会使用工具,我们不仅要会使用,还要会创造工具,别人提 ...
- 《前端面试加分项目》系列 企业级Vue瀑布流
本文 GitHub github.com/ponkans/F2E 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习.文末有福利~~ 前言 接水怪又来 ...
- vue.js实现瀑布流之vue-waterfall-easy
想必大家应该很多都已经习惯了jquery的DOM操作,jquery的瀑布流实现起来也很容易. 但是,随着时代的发展,随着时代的进步..... 算了算了,扯远了,既然能找到这儿来,肯定是在vue.js上 ...
- 使用vue做移动端瀑布流分页
讲到瀑布流分页有一个方法一定是要用到的 pullToRefresh() 这个也没什么好解释的,想了解的可以去百度一下 下面上代码 <div id="main" class=& ...
- 用vue.js写的一个瀑布流的组件
用vue.js写的一个瀑布流的组件:https://segmentfault.com/a/1190000010741319 https://www.jianshu.com/p/db3cadc03402
- vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多
一.思路分析和效果图 用vue来实现一个瀑布流效果,加载网络图片,同时有下拉刷新和上拉加载更多功能效果.然后针对这几个效果的实现,捋下思路: 根据加载数据的顺序,依次追加标签展示效果: 选择哪种方式实 ...
- 分享一个Vue实现图片水平瀑布流的插件
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.需求来源 今天碰到了一个需求,需要在页面里,用水平瀑布流的方式,将一些图片进行加载,这让我突然想起我很久以前写的一篇文章<JS两 ...
- vue2.0的瀑布流组件-使用说明
做一个小项目,需要瀑布流,就选他了,先看看效果 使用瀑布流布局组件:vue-waterfall-easy 下载引入: 方式一:直接从git上复制组件的完整代码,引入vue组件文件即可 import v ...
- vuejs和webpack项目(VueComponent)初尝试——瀑布流组件
碎碎念: 好久不见,最近自己有些懈怠没更过多少博,主要原因之一是对自己学习方式的一些思考,翻看之前的博客多是记录学习笔记这反映出了自己对于前端还停留在学习-复习知识点的阶段压根没多少实践经验啊 ...
随机推荐
- 实现https
实现https 环境 1.三台主机分别为A,B,C. 2.A主机设置为CA和DNS服务器,ip为192.168.213.129 3.B主机为client,ip为192.168.213.253 4.C主 ...
- 音频处理中的尺度--Bark尺度与Mel尺度
由于人耳对声音的感知(如:频率.音调)是非线性的,为了对声音的感知进行度量,产生了一系列的尺度(如:十二平均律),这里重点说下Bark尺度与Mel尺度.刚开始的时候,我自己也没弄明白这两个尺度的区别. ...
- centos源更新
.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup .下载新的CentOS-Base.r ...
- 简述UIDatePicker的用法
1.Locale 设置DatePicker的地区,即设置DatePicker显示的语言. 1.跟踪所有可用的地区,取出想要的地区 NSLog(@"%@", [NSLocale av ...
- Spring.net(v1.3.2) 官网API-第一章 前言
虽然有很好的工具和技术,但是开发软件应用仍然是很困难的.Spring为构建企业级应用提供了一个轻量级的解决方案,Spring提供了一个统一的.透明的方式去配置你的应用,和将AOP集成到你的软件中.Sp ...
- CSS——宠物demo
注意:ul中自带padding值,需要清除. <!DOCTYPE html> <html lang="en"> <head> <meta ...
- Linux 查询PID和端口号
https://www.cnblogs.com/understander/p/5546458.html
- CSS3:变换和动画
<html> <style> .container{ -webkit-perspective: 800; -webkit-perspective-origin: 50% 40% ...
- 【sqli-labs】 less52 GET -Blind based -Order By Clause -numeric -Stacked injection(GET型基于盲注的整型Order By从句堆叠注入)
出错被关闭了 http://192.168.136.128/sqli-labs-master/Less-52/?sort=1' http://192.168.136.128/sqli-labs-mas ...
- codeforces_734C_二分
C. Anton and Making Potions time limit per test 4 seconds memory limit per test 256 megabytes input ...