uniapp,页面当有按钮的时候,可以做一个动态的效果

效果:

这个是当点着按钮的时候没有松开按钮的效果(没有阴影)
这个是当松开按钮的效果(有阴影)

原理讲解:

这段代码实现的业务逻辑是在一个Vue组件中控制"现金"按钮的阴影效果。具体来说,它通过绑定触摸事件(@touchstart@touchend)来改变按钮的阴影状态。当用户触摸按钮时,按钮的阴影会消失;当用户停止触摸时,阴影会重新出现。这种效果可以增强用户界面的交互性,给用户提供直观的反馈,表明按钮已被按下。

具体步骤如下:

  1. 数据定义 :在组件的data函数中定义了一个名为showShadow的变量,初始值为true。这个变量用于控制按钮阴影的显示状态。

  2. 事件处理

    • handleTouchStart方法会在用户开始触摸按钮时被调用,将showShadow设置为false,意味着阴影应该被隐藏。
    • handleTouchEnd方法会在用户停止触摸按钮时被调用,将showShadow重新设置为true,意味着阴影应该被显示。
  3. 样式绑定 :在模板中,按钮的style属性通过:style绑定动态地根据showShadow的值来设置。如果showShadowtrue,则应用有阴影的样式;如果为false,则应用无阴影的样式。

这种方式利用Vue的响应式数据绑定,使得当showShadow变量的值改变时,Vue会自动更新DOM,从而改变按钮的样式。这种实现方法比直接操作DOM元素的样式更符合Vue的设计原则,因为它通过改变数据来驱动视图的更新,而不是直接操作视图。

代码:

data函数中添加一个变量:
javascript 复制代码
data() {
    return {
        // 其他数据...
        showShadow: true,
    };
},
在方法中更新这个变量:
javascript 复制代码
methods: {
    handleTouchStart() {
        this.showShadow = false;
    },
    handleTouchEnd() {
        this.showShadow = true;
    },
    // 其他方法...
},
在模板中使用这个变量来绑定样式:
javascript 复制代码
<view @touchstart="handleTouchStart" @touchend="handleTouchEnd"
    :style="showShadow ? 'box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);' : 'box-shadow: none;'"
    style="flex-grow: 1; background-color: #ffb319; display: flex; align-items: center; justify-content: center;">
    <view class="texttt" style="color: black; font-size: 50rpx;">现金</view>
</view>
相关推荐
2501_916008891 分钟前
Python抓包HTTPS详解:Wireshark、Fiddler、Charles等工具使用教程
python·ios·小程序·https·uni-app·wireshark·iphone
刻刻帝的海角3 分钟前
uniapp引入qqmap-wx-jssdk实现微信小程序端获取用户当前位置
微信小程序·小程序·uni-app
chéng ௹20 分钟前
uniapp vue3 unipush2.0 调用系统通知功能流程
前端·vue.js·uni-app
2501_916008891 小时前
uni-app 上架到 App Store 的项目流程,构建、打包与使用开心上架(Appuploader)上传
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张1 小时前
怎么在 iOS 上架 App,从构建端到审核端的全流程协作解析
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_915918411 小时前
iOS 开发者工具全景指南,构建高效开发、调试与性能优化的多工具工作体系
android·ios·性能优化·小程序·uni-app·iphone·webview
星光一影1 天前
原生社交app/工会/家族/语音房/直播社交/付费解锁聊天/广场好友圈子/一对一聊天交友
mysql·uni-app·php·html5·交友
anyup1 天前
🔥牛逼!3分钟生成 5 套主题,还能一键切换暗黑模式!
前端·前端框架·uni-app
2501_915918411 天前
iOS 手机抓包软件怎么选?HTTPS 调试、TCP 数据流分析与多工具组合的完整实践
android·ios·智能手机·小程序·https·uni-app·iphone
游戏开发爱好者81 天前
iOS 应用上架的工程实践复盘,从构建交付到审核通过的全流程拆解
android·ios·小程序·https·uni-app·iphone·webview