首页 > 编程语言 >直播商城源码,vue 弹窗 惯性滚动 加速滚动

直播商城源码,vue 弹窗 惯性滚动 加速滚动

时间:2023-04-06 14:11:59浏览次数:38  
标签:vue 滚动 default height width 源码 type 弹窗

直播商城源码,vue 弹窗 惯性滚动 加速滚动

弹窗基础组件

新建文件 components/zwy-popup

 


<template>
<div v-show="ishide" @touchmove.stop.prevent>
<!-- 遮罩 -->
<div class="mask" :style="maskStyle"></div>
<!-- 内容 -->
<div class="tip" :style="tipStyle"><slot></slot></div>
</div>
</template>
<script>
export default {
props: {
// 控制弹窗显隐
ishide: {
type: Boolean,
required: true
},
// 设置弹窗层级
zindex: {
type: Number,
default: 99
},
// 设置遮罩透明度
opacity: {
type: Number,
default: 0.6
},
// 设置内容区宽度
width: {
type: String,
default: '100%'
},
// 设置内容区高度
height: {
type: String,
default: '400px'
},
// 设置内容区圆角
radius: {
type: String
},
// 设置内容区底色
bgcolor: {
type: String,
default: 'transparent'
}
},
computed: {
// 遮罩样式
maskStyle() {
return `
z-index:${this.zindex};
background:rgba(0,0,0,${this.opacity});
`;
},
// 内容样式
tipStyle() {
return `
width:${this.width};
min-height:${this.height};
z-index:${this.zindex + 1};
border-radius:${this.radius};

`;
}
}
};
</script>
<style scoped>
.mask {
width: 100%;
height: 100vh;
background: rgba(0, 0, 0, 0.2);
position: fixed;
left: 0;
top: 0;
z-index: 100000;
display: block;
}
.tip {
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
</style>
 

组件使用

 


<template>
<div class="exothecium">
<div class="rules" @click="rulesClick">弹窗按钮</div>
<couponPup :ishide="ishide" @closeClick="closeClick"></couponPup>
</div>
</template>
<script>
import couponPup from '../components/coupon-pup.vue';
export default {
name: 'reduction_lj',
components: {
couponPup
},
data() {
return {
ishide: false
};
},
mounted: function() {},
methods: {
closeClick() {
this.ishide = false;
}
}
};
</script>
<style scoped>
* {
touch-action: pan-y;
}
html,
body {
overflow: hidden;
}
.exothecium {
width: 100%;
height: 100vh;
background: #999;
background-size: 100% 100%;
padding-top: 42px;
/* position: relative; */
}
.rules{
width: 200px;
height: 80px;

}
</style> 

 

以上就是直播商城源码,vue 弹窗 惯性滚动 加速滚动, 更多内容欢迎关注之后的文章

 

标签:vue,滚动,default,height,width,源码,type,弹窗
From: https://www.cnblogs.com/yunbaomengnan/p/17292566.html

相关文章

  • Vue进阶(四十五):精解 ES6 Promise 用法
    一、前言复杂难懂概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么呢?是类?对象?数组?函数?别猜了,console.dir(Promise)直接打印出来看看。这么一看就明白了,Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有th......
  • vue之列表渲染v-for
    目录简介用法v-for可循环的几种变量的展示数组的循环展示对象的循环展示字符串的循环展示数字的循环展示v-for搭档key值的说明js循环几种方式基于索引的循环数组的循环数组基于索引的循环数组基于迭代的循环基于of的循环数组的方法循环jQuery的循环点击按钮隐藏/显示列表示例简......
  • vue第六课:v-for,v-on补充,v-model
    1,v-for指令根据数据生成列表结构<divid='app'><inputtype="button"value="添加数据"@click="add"><inputtype="button"value="删除数据"@click="remove"><ul><......
  • vue第五课:图片切换实例
    知识点:1,定义图片数组2,添加图片索引3,绑定src属性4,图片切换逻辑需求:第一张图片不显示上一页(隐藏)最后一张图片不显示下一页(隐藏)<divid='app'><img:src="imgarr[index]"><ahref="#"v-show="index!=0"@click="prev"><imgs......
  • vue之条件渲染
    目录说明语法示例说明“vue条件渲染指令包括v-if、v-else、v-else-if、v-show。语法v-if="条件1&&条件2"#条件可以用变量+运算符号表示,&&表示andv-if-else="条件"v-else#因为是例外,所以不需要使用条件示例<body><divid="app"><h1&......
  • vue-生产环境强制开启dev-tool
    由于生产环境中无法启用dev-tool,而一些问题只在生产环境中体现,所以在生产环境中调试vue,我个人认为还是比较有用的,那么怎么在生产环境中启用dev-tools呢,便捷的方法只需要在chrome商店中下载vueforcedev就好啦cheers!!!!......
  • java项目 宿舍管理系统 (源码+数据库文件+1w字论文+ppt)
    java项目宿舍管理系统(源码+数据库文件+1w字论文+ppt)技术框架:java+springboot+vue+mysql后端框架:SpringBoot、SpringMVC、MyBatisPlus前端界面:vue、BootStrap、jQuery、ajxs系统共分为三种用户系统主要功能:系统设计三个角色,学生端,管理员端,系统管理员端楼宇管理:楼宇......
  • cbv分析,模板,请求与响应,session及源码分析,闪现,请求扩展
    cbv分析,模板,请求与响应,session及源码分析,闪现,请求扩展cbv分析cbv编写视图类的方法#导入flaskfromflaskimportFlask,request#导入cbv需要的MethodViewfromflask.viewsimportMethodView#实例化flask对象app=Flask(__name__)app.debug=True#编写cbvclass......
  • ETCD源码阅读(六)
    DAY5:ETCD的Lease机制Lease机制简介除了前面文章中提到的分布式锁,lease机制还广泛应用于服务注册与发现场景,需要与watch机制相配合。本文主要做对Lease部分的源码分析。一个租约可以关联ETCD集群中的一个或多个key。当租约过期或者被撤销时,关联的key会被自动删除。租约部分代......
  • uni-app:ios/android中的nvue和vue页面加载自定义字体(hbuilderx 3.7.3)
    一,官方文档地址:https://uniapp.dcloud.net.cn/tutorial/nvue-api.html#addrule二,代码1,nvue页面:模板<viewclass="listTitle">{{item.title}}</view>......