壁纸小程序Vu3(预览页面:弹窗)

1.展示跳转后的分类列表图片

classlist.vue

 

<template><view class="classlist"><view class="content"><navigator class="item" v-for="item in 10"><image src="../../common/images/64.png" mode="aspectFill"></image></navigator></view></view>
</template><script setup></script><style lang="scss" scoped>.classlist{.content{//网格布局display: grid;grid-template-columns: repeat(3,1fr);gap:5rpx;padding: 5rpx;.item{height: 440rpx;image{width: 100%;height: 100%;display: block;}}}
}</style>

2.预览页面(preview.vue)

1)基础布局

<template><view class="preview"><swiper circular><swiper-item v-for="item in 4"><image @click="maskChange" src="../../static/images/2.jpg" mode="aspectFill"></image></swiper-item><swiper-item><image src="../../static/images/1.jpeg" mode="aspectFill"></image></swiper-item></swiper><view class="mask" v-if="maskState"><view class="goBack"></view><view class="count">3 / 9</view><view class="time"><uni-dateformat :date="new Date()" format="hh:mm"></uni-dateformat></view><view class="date"><uni-dateformat :date="new Date()" format="MM月dd日"></uni-dateformat></view><view class="footer"><view class="box"><uni-icons type="info" size="28"></uni-icons><view class="text">信息</view></view><view class="box"><uni-icons type="star" size="28"></uni-icons><view class="text">5分</view></view><view class="box"><uni-icons type="download" size="23"></uni-icons><view class="text">下载</view></view></view></view></view>
</template><script setup>
import { ref } from 'vue';
//遮盖层
const maskState = ref(false)
const maskChange = ()=>{maskState.value = !maskState.value
}</script><style lang="scss" > .preview{width: 100%;height: 100vh;swiper{width: 100%;height: 100%;image{width: 100%;height: 100%;}}.mask{//&>view:紧邻的子元素//公用的&>view{position: absolute;left: 0;margin: auto;color: #fff;right: 0;//内容多大就有多宽=>自动扩宽width: fit-content;}.goBack{}.count{position: absolute;top: 10vh;background: rgba(0, 0, 0, 0.3);font-size: 28rpx;border-radius: 40rpx;padding: 8rpx 28rpx;//模糊效果backdrop-filter: blur(10rpx);}.time{font-size: 140rpx;top: calc(10vh + 80rpx);font-weight: 100;line-height: 1em;//文字阴影text-shadow: 0 4rpx rgba(0, 0, 0, 0.3);}.date{font-size: 34rpx;top: calc(10vh + 240rpx);text-shadow: 0 4rpx rgba(0, 0, 0, 0.3);}.footer{background: rgba(255, 255, 255, 0.8);bottom: 10vh;width: 65vw;height: 120rpx;border-radius: 120rpx;color: #000;display: flex;//平均分配justify-content: space-around;//正中间align-items: center;//避免背景白色时看不到区域box-shadow: 0 2rpx 0 rgba(0, 0, 0, 0.1);backdrop-filter: blur(20rpx);.box{display: flex;flex-direction: column;align-items: center;justify-content: center;//增加触碰区域padding: 2rpx 12rpx;.text{font-size: 26rpx;color: $text-font-color-2;}}}}}</style>

显示时间的组件

<view class="time">
              <uni-dateformat :date="new Date()" format="hh:mm"></uni-dateformat>
          </view>

 .mask{
      //&>view:紧邻的子元素
      //公用的
      &>view{
        position: absolute;
        left: 0;
        margin: auto;
        color: #fff;
        right: 0;
        //内容多大就有多宽=>自动扩宽
        width: fit-content;
      }

top: calc(10vh + 240rpx);是一种CSS样式声明,用于设置元素的垂直位置。

3.弹窗的设置

1).壁纸信息弹窗

<!-- 弹框 --><uni-popup ref="infoPopup" type="bottom"><view class="infoPopup"><view class="popHeader"><view></view><view class="title">壁纸信息</view><view class="close" @click="clickInfoClose"><uni-icons type="closeempty" size="18" color="#999" ></uni-icons></view></view><!-- scroll-view限制最大区域 --><scroll-view scroll-y><view class="content"><view class="row" ><view class="label">壁纸ID: </view><text selectable class="value">112124124sfgd</text></view><view class="row"><view class="label">分类:</view><text class="value class">明星美女</text></view><view class="row"><view class="label">发布者:</view><text class="value">君泺</text></view><view class="row"><text class="label">评分:</text><view class='value roteBox' ><uni-rate readonly touchable value="3.5" size="16"/><text class="score">5分</text></view></view><view class="row"><text class="label">摘要:</text><view class='value'>摘要文字内容填充部分,摘要文字内容填充部分,摘要文字内容填充部分,摘要文字内容填充部分。</view></view><view class="row"><text class="label">标签:</text><view class='value tabs'><view class="tab" v-for="item in 3">标签名</view></view></view>	   <view class="copyright">声明:本图片来用户投稿,非商业使用,用于免费学习交流,如侵犯了您的权益,您可以拷贝壁纸ID举报至平台,邮箱513894357@qq.com,管理将删除侵权壁纸,维护您的权益。</view></view></scroll-view></view></uni-popup>

 


<script setup>
import { ref } from 'vue';
//遮盖层
const maskState = ref(true)
const infoPopup = ref(null)

//点击info弹窗
const clickInfo = ()=>{
    infoPopup.value.open();
}

//点击关闭信息弹窗
const clickInfoClose = ()=>{
  infoPopup.value.close();
}

const maskChange = ()=>{
   maskState.value = !maskState.value
}
</script>
 

2)评分弹窗

 preview.vue

  <!-- :is-mask-click="false":点击×才能进行关闭,点击空白不关闭 --><uni-popup ref="scorePopup" :is-mask-click="false"><view class="scorePopup"><view class="popHeader"><view></view><view class="title" >壁纸评分</view><view class="close" @click="clickScoreClose"><uni-icons type="closeempty" size="18" color="#999" ></uni-icons></view></view><view class="content"><!-- allowHalf:0.5分 --><uni-rate v-model="userScore" allowHalf></uni-rate><text class="text">{{userScore}}分</text></view><view class="footer"><!-- :disabled="!userScore" 只有进行评分时才生效 --><button @click="submitScore"  :disabled="!userScore" type="default"    size="mini" plain>确认评分</button></view></view></uni-popup>


<script setup>
import { ref } from 'vue';
//遮盖层
const maskState = ref(true)
const infoPopup = ref(null)
const scorePopup = ref(null)
const userScore = ref(0)
//点击info弹窗
const clickInfo = ()=>{
    infoPopup.value.open();
}
//点击关闭信息弹窗
const clickInfoClose = ()=>{
  infoPopup.value.close();
}
//评分弹窗
const clickScore = () =>{
  scorePopup.value.open();

}
//关闭
const clickScoreClose =  ()=>{
  scorePopup.value.close();

}
const maskChange = ()=>{
   maskState.value = !maskState.value
}

//确认评分
const submitScore = () =>{
  console.log("评分了");
}
</script>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/299925.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络 实验指导 实验16

实验16 PPP配置实验 1.实验拓扑图 实验10讲了如何添加Se的接口 名称接口IP地址Router1se0/0/0192.168.1.1/24Router0se0/0/0192.168.1.2/24se0/0/1192.168.2.1/24Router2se0/3/0192.168.2.2/24 2.实验目的 &#xff08;1&#xff09;掌握PPP的基本配置步骤和方法 &#xf…

Java入门基础知识第六课(超基础,超详细)——循环结构

前面二白讲了选择结构相关知识&#xff0c;主要是if选择结构和swich选择结构&#xff0c;这次咱们讲一下循环结构&#xff0c;主要是while、do-while、for这三种循环结构 一、while循环结构 语法&#xff1a; 初始值代码; while(循环条件){ 循环操作代码块; 迭代代码; } 执行…

UE4 面试题整理

1、new与malloc的区别 new&#xff1a; new首先会去调用operator new函数&#xff0c;申请足够的内存&#xff08;大多数底层用malloc实现&#xff09;&#xff0c;然后调用类型的构造函数来初始化变量&#xff0c;最后返回自定义类型的指针&#xff0c;delete先调用析构函数&…

“AI复活”背后的数字永生:被期待成为下一个电商,培育市场认知和用户心智还需时间

“AI复活”背后的数字永生&#xff1a;被期待成为下一个电商&#xff0c;培育市场认知和用户心智还需时间© 由 九派新闻 提供 数字永生&#xff0c;还是电子宠物&#xff1f;过去一个月&#xff0c;因包小柏用AI技术让爱女在数字世界“复活”一事&#xff0c;《流浪地球2…

java 基本类型与包装类

8种基本类型与对应的包装类 尽量不要使用构造方法&#xff0c;因为构造方法已经过时了 自动装箱 自动装箱&#xff1a;基本自动转换为包装类 Integer a 3&#xff1b; 虽然所有的类中有类似于parseInt这种方法&#xff0c;但是所有类中都有valueOf方法&#xff0c;推荐使用va…

护眼落地灯到底是不是智商税?六种实用挑选方法帮你排雷避坑!

光线对眼睛的影响是不可忽视的。现代人由于长时间使用电子产品&#xff0c;如电脑、手机等&#xff0c;往往会处于高强度的光线照射下&#xff0c;导致眼睛疲劳、干涩、红肿等问题。而长期处于光线不足的环境中&#xff0c;又容易引发视力下降等眼部问题。因此&#xff0c;保护…

【机器学习入门】使用YOLO模型进行物体检测

系列文章目录 第1章 专家系统 第2章 决策树 第3章 神经元和感知机 识别手写数字——感知机 第4章 线性回归 第5章 逻辑斯蒂回归和分类 第5章 支持向量机 第6章 人工神经网络(一) 第6章 人工神经网络(二) 卷积和池化 第6章 使用pytorch进行手写数字识别 文章目录 系列文章目录前…

静态路由协议实验综合实验

需求&#xff1a; 1、除R5的换回地址已固定外&#xff0c;整个其他所有的网段基于192.168.1.0/24进行合理的IP地址划分。 2、R1-R4每台路由器存在两个环回接口&#xff0c;用于模拟连接PC的网段&#xff1b;地址也在192.168.1.0/24这个网络范围内。 3、R1-R4上不能直接编写到…

Android14应用启动流程(源码+Trace)

1.简介 应用启动过程快的都不需要一秒钟&#xff0c;但这整个过程的执行是比较复杂的&#xff0c;无论是对手机厂商、应用开发来说启动速度也是核心用户体验指标之一&#xff0c;本文采用Android14源码与perfetto工具进行解析。 源码参考地址&#xff1a;Search trace分析工…

Redis的配置文件详解

单位&#xff1a;Redis配置对大小写不敏感&#xff01; 注意这里&#xff1a;任何写法都可&#xff0c;不区分大小写。 units are case insensitive so 1GB 1Gb 1gB are all the same.包含&#xff1a;搭建Redis集群时&#xff0c;可以使用includes包含其他配置文件网络&…

在c# 7.3中不可用,请使用9.0或更高的语言版本

参考连接&#xff1a;在c# 7.3中不可用,请使用8.0或更高的语言版本_功能“可为 null 的引用类型”在 c# 7.3 中不可用。请使用 8.0 或更高的语言版本-CSDN博客https://blog.csdn.net/liangyely/article/details/106163660 [踩坑记录] 某功能在C#7.3中不可用,请使用 8.0 或更高的…

RGB三通道和灰度值的理解

本文都是来自于chatGPT的回答!!! 目录 Q1:像素具有什么属性?Q2:图像的色彩是怎么实现的?Q3:灰度值和颜色值是一个概念吗?Q4:是不是像素具有灰度值&#xff0c;也有三个颜色分量RGB&#xff1f;Q5:灰度图像是没有色彩的吗&#xff1f;Q6: 彩色图像是既具有灰度值也具有RGB三…

【JavaWeb】Day30.SpringBootWeb请求响应——响应

响应 HTTL协议的交互方式&#xff1a;请求响应模式&#xff08;有请求就有响应&#xff09;那么Controller程序&#xff0c;除了接收请求外&#xff0c;还可以进行响应。 1.ResponseBody 在我们前面所编写的controller方法中&#xff0c;都已经设置了响应数据。 controller方…

利用甘特图实现精细化项目管控

在项目管理中,通过精细化管控,项目经理能够有效规划、监督和协调各项任务,从而最大限度控制风险,优化资源配置,并确保按时、按质、按量完成项目目标。而在众多项目管理工具中,甘特图无疑是实现精细化项目管控的利器。zz-plan 是一个非常好用的在线甘特图制作工具&#xff0c;一…

【力扣】94. 二叉树的中序遍历、144. 二叉树的前序遍历、145. 二叉树的后序遍历

先序遍历&#xff1a;根-左-右中序遍历&#xff1a;左-根-右后序遍历&#xff1a;左-右-根 94. 二叉树的中序遍历 题目描述 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3…

【三十五】【算法分析与设计】综合练习(2),22。 括号生成,77。 组合,494。 目标和,模拟树递归,临时变量自动维护树定义,递归回溯,非树结构模拟树

22. 括号生成 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["&#xff08;&#xff08;&#xff08;&#xff09;&#xff09;&#xff0…

C 回调函数的两种使用方法

对回调&#xff08;callback&#xff09;函数的一点粗陋理解&#xff0c;在我小时候&#xff0c;隔壁村有家月饼小作坊&#xff08;只在中秋那段时间手工制作一些月饼出售&#xff0c;后来好像不做了&#xff09;&#xff0c;做出的月饼是那种很传统很经典的款式&#xff0c;里…

金融中的数学模型

平稳时间序列 时间序列的基本统计特性&#xff0c;如均值、方差和自相关等&#xff0c;在时间上不随时间的推移而发生显著的变化。 平稳时间序列通常具有以下特征&#xff1a; 均值不随时间变化&#xff1a;序列的均值在时间上保持恒定。方差不随时间变化&#xff1a;序列的…

人工智能上手 Pytorch

人工智能上手 Pytorch 1、人工智能框架历史走向 2015年&#xff0c; caffe&#xff0c;优势配置简单&#xff0c;缺点安装麻烦&#xff0c;且不更新维护 2016年&#xff0c;tensorflow 1.x&#xff0c;定义太严格&#xff0c;很复杂。开发成本高。简单的任务&#xff0c;也很…

DVWA -File Upload-通关教程-完结

DVWA -File Upload-通关教程-完结 文章目录 DVWA -File Upload-通关教程-完结页面功能LowMediumHighImpossible 页面功能 此页面的功能为选择某个图片文件点击Upload按钮上传&#xff0c;上传成功后得知文件上传路径为DVWA\hackable\uploads。 Low 源码审计 这段 PHP 代码…