当前位置: 首页 > news >正文

wordpress网站插件学电脑培训班多少一个月

wordpress网站插件,学电脑培训班多少一个月,锐奇智能手机网站建设,wordpress图片分页插件下载看了下市场的代码#xff0c;要么写的不怎么好#xff0c;要么过于复杂。于是把市场的代码下下来了自己改。200行代码撸了个弹出层组件。兼容H5和APP。 功能#xff1a; 1)只支持上下左右4个方向的弹层不支持侧边靠齐 2)不对屏幕边界适配 3)支持弹层外边点击自动隐藏 4)支持…看了下市场的代码要么写的不怎么好要么过于复杂。于是把市场的代码下下来了自己改。200行代码撸了个弹出层组件。兼容H5和APP。 功能 1)只支持上下左右4个方向的弹层不支持侧边靠齐 2)不对屏幕边界适配 3)支持弹层外边点击自动隐藏 4)支持3种内容模式 1. 弹出提示文本 2. slot内容占位 3. 支持菜单模式 BWT弹层外点击自动隐藏基于unibest框架的页面模板技术这里就不放代码了自己想想怎么弄 。提示使用事件总线模式放出的代码也提示了部分用法。 效果H5下 APP下 小程序下 组件代码   !--自定义弹出层/菜单组件1)只支持上下左右4个方向的弹层不支持侧边靠齐2)不对屏幕边界适配3)支持弹层外边点击自动隐藏4)支持3种内容模式1. 文本为内容2. slot内容占位3. 菜单模式Author Jim 24/10/08-- templateviewview classcc_popper click.stophandleClickslot/slotviewclasscc_popper_layer border-2rpx border-solidclick.stop() {}:style[data.layerStyle,{visibility: data.isShow ? visible : hidden,opacity: data.isShow ? 1 : 0,color: props.textColor,backgroundColor: props.bgColor,borderColor: var(--cc-box-border)}]view classpx-20rpx py-10rpx v-ifcontent.length 0 || $slots.content!-- 内容模式 --slot namecontent{{ content }}/slot/viewview v-else classpy-5rpx px-10rpxtemplate v-for(conf, index) in props.menu :keyindexview v-ifindex 0 classbg-box-border opacity-70 h-2rpx w-full /viewclasspx-20rpx py-10rpx menu-item my-5rpxclick() {conf.callback()data.isShow false}{{ conf.title }}/view/template/viewview:class[w-0, h-0, z-9, absolute, popper-arrow-on- props.direction]:style[data.arrowStyle]//view/view/view /template script langts setup import { CSSProperties } from vue import * as utils from /utils let instanceconst { screenWidth } uni.getSystemInfoSync()const pixelUnit screenWidth / 750 // rpx-px比例基数export interface MenuConf {icon?: string // 指示图标title: string // 菜单文本callback: () void // 点击事件 }const props withDefaults(defineProps{textColor?: string // 指定内部文本颜色bgColor?: stringborderColor?: stringcontent?: string // 可以指定文本content或者指定 slot content来显示弹窗内容menu?: ArrayMenuConf // 下拉菜单模式direction?: top | bottom | left | right // 弹层位置alwaysShow: boolean}(),{textColor: var(--cc-txt),bgColor: var(--cc-box-fill), // 默认弹框色borderColor: var(--cc-box-border), // 默认弹框边框色content: ,menu: () [],direction: top,alwaysShow: false} )const data reactive{isShow: booleanlayerStyle: CSSProperties // CSS定义一层够了arrowStyle: CSSProperties }({isShow: false,layerStyle: {},arrowStyle: {} })onMounted(() {instance getCurrentInstance()if (props.alwaysShow) {nextTick(() handleClick())} })onUnmounted(() {if (!props.alwaysShow) {utils.off(utils.Global.CC_GLOBAL_CLICK, hideLayer) // 移除全局点击监听} })const hideLayer (event: MouseEvent) {data.isShow falseutils.off(utils.Global.CC_GLOBAL_CLICK, hideLayer) }const handleClick async () {if (data.isShow) {if (props.alwaysShow) {return}utils.off(utils.Global.CC_GLOBAL_CLICK, hideLayer)return (data.isShow false)}const rects: UniApp.NodeInfo[] await utils.getRectAll(.cc_popper,.cc_popper_layer, instance)const srcRect: UniApp.NodeInfo rects[0]const layerRect: UniApp.NodeInfo rects[1]data.arrowStyle[border props.direction.charAt(0).toUpperCase() props.direction.slice(1)] 10rpx solid var(--cc-box-border)switch (props.direction) {case top: {data.layerStyle.left ${(srcRect.width - layerRect.width) / 2}pxdata.layerStyle.bottom ${srcRect.height 16 * pixelUnit}pxdata.arrowStyle.left ${layerRect.width / 2 - 12 * pixelUnit}pxconsole.log(data.arrowStyle.left)break}case bottom: {data.layerStyle.left ${(srcRect.width - layerRect.width) / 2}pxdata.layerStyle.top ${srcRect.height 16 * pixelUnit}pxdata.arrowStyle.left ${layerRect.width / 2 - 12 * pixelUnit}pxbreak}case left: {data.layerStyle.right ${srcRect.width 16 * pixelUnit}pxdata.layerStyle.top ${(srcRect.height - layerRect.height) / 2}pxdata.arrowStyle.top ${layerRect.height / 2 - 12 * pixelUnit}pxbreak}case right: {data.layerStyle.left ${srcRect.width 16 * pixelUnit}pxdata.layerStyle.top ${(srcRect.height - layerRect.height) / 2}pxdata.arrowStyle.top ${layerRect.height / 2 - 12 * pixelUnit}pxbreak}}data.isShow trueif (!props.alwaysShow) {utils.on(utils.Global.CC_GLOBAL_CLICK, hideLayer)} } /script style langscss scoped $arrow-size: 12rpx; $arrow-offset: -12rpx;.cc_popper {position: relative;display: inline-block; }.cc_popper_layer {position: absolute;display: inline-block;white-space: nowrap;border-radius: 10rpx;transition: opacity 0.3s ease-in-out; }.popper-arrow-on-top {bottom: $arrow-offset;border-right: $arrow-size solid transparent;border-left: $arrow-size solid transparent; }.popper-arrow-on-right {left: $arrow-offset;border-top: $arrow-size solid transparent;border-bottom: $arrow-size solid transparent; }.popper-arrow-on-left {right: $arrow-offset;border-top: $arrow-size solid transparent;border-bottom: $arrow-size solid transparent; }.popper-arrow-on-bottom {top: $arrow-offset;border-right: $arrow-size solid transparent;border-left: $arrow-size solid transparent; }.menu-item {:active {background-color: #88888840;} } /style测试页面 templateview classtext-txt w-full h-fullview消息/viewview classx-items-between px-200rpx pt-100rpxcc-popper directionleft content说啥好呢 alwaysShowview classw-100rpxu-button text左边 //view/cc-popperview classw-100rpxcc-popper directiontop content向上看 alwaysShowview classw-100rpxu-button text上面 //view/cc-poppercc-popper directionbottom content下边也没有 alwaysShowview classw-100rpx mt-20rpxu-button text下面 //view/cc-popper/viewcc-popper directionright content右边找找 alwaysShowview classw-100rpxu-button text右边 //view/cc-popper/viewview classx-items-between px-150rpx pt-400rpxcc-popper alwaysShowview classw-200rpxu-button shapecircle text烎 //viewtemplate #contenttext classtext-100rpx/text/template/cc-poppercc-popper alwaysShow :menudata.menudiv classw-100rpx h-100rpx bg-red/div/cc-popper/view/view /template script langts setup import { MenuConf } from /components/ccframe/cc-popper.vueconst data reactive{menu: ArrayMenuConf }({menu: [{title: 口袋1,callback: () {console.log(糖果)}},{title: 口袋2,callback: () {console.log(退出系统)}},{title: 口袋3,callback: () {console.log(空的)}}] }) /script对了菜单的图标支持还没写。等用到的时候再加上去代码放这存档后面再更新:
http://www.dnsts.com.cn/news/4080.html

相关文章:

  • 深圳网站建设定制开发超凡科技seo网络推广培训
  • 做公司网站可以抄别人的吗工业和信息化部电信设备认证中心
  • 网站备案 链接公司电商网站建设费用怎么记账
  • 好用的网站系统网站推广怎么做
  • 交通局网站模板现货行情分析软件app
  • 淘宝做动图网站泰安微信网站建设
  • 网站备案要多少天xsxz wordpress
  • php网站开发源码wordpress 子模板
  • 怎么做企业网站推广赚钱1网站免费建站
  • 优化网站关键词的技巧统一企业官网
  • 只做app不做网站可以吗网站建设需要参考哪些文献
  • 成都网站推广如何做书签网站
  • 网站参考页面设计电商网站规划的开发背景
  • 乐清网站制作公司企业网站优化应该怎么做
  • 溧阳网站设计jsp网页模板
  • 做百度网站分录做推广的公司
  • 电子商务网站项目预算广州网站开发水平广州亦客网络
  • 中小型网站建设 教案wordpress 搜索没反应
  • 文化馆的网站怎么建设网站功能及报价
  • 什么网站可以做特价活动网站建站的标准
  • 网站设计技能培训网站搭建分站需要多少钱
  • 手机网站与pc网站的区别阿里云的云服务器做网站用哪种
  • 建网站的好处直播网站建设项目策划书
  • 举报企业网站用个人信息备案网站开发方向行业现状
  • 广州建设网站技术android 登录wordpress
  • 做网站的市场wordpress 关闭功能
  • 建设网站程序下载15个常见关键词
  • 外贸网站官网怎么做广安网站开发
  • 专门做牛肉的网站网站建设产品图
  • 中国网站建设市场排名安徽合肥做网站的公司有哪些