Vue如何动态给id设置style样式

 更新时间:2023年06月06日 08:44:41   作者:慕白Lee  
这篇文章主要介绍了Vue如何动态给id设置style样式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue动态给id设置style样式

背景

有个需求需要动态控制数字的颜色,监听之,然后设置对应颜色

代码

1、监听字段

watch:{
    taskNum(to,do){
        if(to!=do)
            this.check();
        }
    },
methods:{
    check(){
    },
}

2、动态计算,达到条件后改变字体颜色

var d = document.getElementById("taskNum");
d.style.color="#808080";
d.style.width="20%";
d.style.left= "35%";

vue中动态改变样式

以往写html代码的时候是将组件绑定点击函数然后通过ducument拿到css改变样式,也可以在js代码中用document拿别的class或id的样式。

我们以用document实现弹窗效果为例

<!-- 弹窗 -->
<div class="popbar" id="popbar">
    <h3 class="notice">来啦</h3>
</div>
.popbar{
            position: absolute;
            width: 340px;
            height: 60px;
            box-shadow: 0 0 5px 1px #464647;
            border-radius: 15px;
            border: none;
            margin-right: 10px;
            //改变margin-top的值以实现弹窗效果
            margin-top: -80px;//end 10px
            margin-left: 10px;
            background-color: rgba(100, 235, 102, 0.6);
            transition: all 0.5s;
            .notice{
                margin-top: 11.5px;
                text-align: center;
                font-size: 25px;
                color: aliceblue;
            }
        }

这里我们通过改变margin-top的值来实现弹窗效果,js代码如下

function lock(){
  document.getElementById("barlock").style.transform = "scale(1)"
  document.getElementById("popbar").style.marginTop= "10px"
  setTimeout(() => {
    document.getElementById("popbar").style.marginTop= "-80px"
  },2000)
}

此处实现了一秒的动画效果(从-80到10),在两秒后回到-80的位置

弹窗效果展示

右下角的锁同样可以如此实现,除了改变还可以inner html来实现新加样式

但在vue中使用document似乎有点行不通

那在vue中应该如何实现呢?

  • 是可以通过绑定class样式(或者style)在method中写函数
  • 或者同样使用document来实现(这里涉及到全局的函数,windows操作等,等弄明白了再更新)
  • 还有就是同样在method中写的 类似document 的方法:就是用 this.$refs函数,将组件绑定上ref值后拿style样式

等我后边更新吧~

ok,这边更新一下

vue中改变样式可以使用ref邦定标签,然后通过this.refs.(ref值).style.(元素属性,同document语法)

<div ref="test" style="background=red"> </div>

在函数中

method{
    this.refs.test.style.background="blue";
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3+vite+ts之axios的坑及解决

    vue3+vite+ts之axios的坑及解决

    这篇文章主要介绍了vue3+vite+ts之axios的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 浅入深出Vue之组件使用

    浅入深出Vue之组件使用

    这篇文章主要给大家介绍了关于浅入深出Vue之组件使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • vue如何动态生成andv图标

    vue如何动态生成andv图标

    这篇文章主要介绍了vue如何动态生成andv图标问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • VUE实时监听元素距离顶部高度的操作

    VUE实时监听元素距离顶部高度的操作

    这篇文章主要介绍了VUE实时监听元素距离顶部高度的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vue.js 实现点击展开收起动画效果

    vue.js 实现点击展开收起动画效果

    这篇文章主要介绍了vue.js 实现点击展开收起动画效果,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 基于vue.js快速搭建图书管理平台

    基于vue.js快速搭建图书管理平台

    Vue.js是当下很火的一个JavaScript MVVM(Model-View-ViewModel)库.这篇文章主要介绍了基于vue.js快速搭建图书管理平台 ,需要的朋友可以参考下
    2017-10-10
  • 关于vue属性使用和不使用冒号的区别说明

    关于vue属性使用和不使用冒号的区别说明

    这篇文章主要介绍了关于vue属性使用和不使用冒号的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Ant Design编写登录和注册页面的教程

    Ant Design编写登录和注册页面的教程

    这篇文章主要介绍了Ant Design编写登录和注册页面的教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Vue3实现自定义指令拦截点击事件的示例代码

    Vue3实现自定义指令拦截点击事件的示例代码

    某些应用场景会给点击事件添加权限,不存在权限就拦截点击事件,有权限就继续正常触发点击事件。这样的效果是如何实现的呢,本文就来和大家详细讲讲
    2023-02-02
  • 解决Echarts2竖直datazoom滑动后显示数据不全的问题

    解决Echarts2竖直datazoom滑动后显示数据不全的问题

    这篇文章主要介绍了解决Echarts2竖直datazoom滑动后显示数据不全的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论