vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)

 更新时间:2020年02月11日 08:15:12   作者:意必固我  
为了提高页面展示效果,登录界面内容比较单一的,粒子效果作为背景经常使用到,vue工程中利用vue-particles可以很简单的实现页面的粒子背景效果,本文给大家分享在实现过程中遇到问题,需要的朋友一起看看吧

为了提高页面展示效果,登录界面内容比较单一的,粒子效果作为背景经常使用到,vue工程中利用vue-particles可以很简单的实现页面的粒子背景效果。

解决问题:

  • 以背景方式显示
  • 无法获取按钮焦点,触发不了点击事件

实现过程

安装vue-particles

npm install vue-particles --save-dev

全局配置vue-particles

在main.js里面:

import VueParticles from 'vue-particles' 
Vue.use(VueParticles) 

使用 vue-particles

在vue文件template标签中:

<template >
 <div v-loading.fullscreen.lock="loading"
    class="login" 
    element-loading-spinner="fa fa-spinner fa-pulse fa-3x fa-fw">
  <vue-particles
    color="#409EFF"
    :particleOpacity="0.7"
    :particlesNumber="80"
    shapeType="circle"
    :particleSize="4"
    linesColor="#409EFF"
    :linesWidth="1"
    :lineLinked="true"
    :lineOpacity="0.4"
    :linesDistance="150"
    :moveSpeed="3"
    :hoverEffect="true"
    hoverMode="grab"
    :clickEffect="true"
    clickMode="push"
   >  </vue-particles>
  <el-form :rules="rules"
       :model="loginFrom"
       class="logContainer"
       ref="loginFrom"
       @keydown.enter.native="loginSubmit">
   <h2 class="logtitle"><i class="fa fa-drupal fa-2x"
       style="color: #505458" /> 人 事 管 理</h2>
   <el-form-item prop="username">
    <el-input type="text"
         v-model="loginFrom.username"
         placeholder="请输入用户名"
         class="inputbg"
         auto-complete="off">
     <i slot="prefix"
       class="el-icon-user"></i>
    </el-input>
   </el-form-item>
   <el-form-item prop="password">
    <el-input type="password"
         v-model="loginFrom.password"
         placeholder="请输入密码"
         auto-complete="off">
     <i slot="prefix"
       class="el-icon-lock"></i>
    </el-input>
   </el-form-item>
   <el-form-item prop="code">
    <el-input v-model="loginFrom.code"
         auto-complete="off"
         placeholder="验证码"
         style="width: 63%"
         @keyup.enter.native="loginSubmit">
     <i slot="prefix"
       class="el-icon-view"></i>
    </el-input>
    <div class="login-code">
     <img :src="codeUrl"
        @click="getCode">
    </div>
   </el-form-item>
   <el-checkbox v-model="loginFrom.rememberMe"
          style="margin:0 0 25px 0;">
    记住我
   </el-checkbox>
   <el-button type="primary" 
         style="width:100%; position: relative;"
         @click="loginSubmit">登录</el-button>
  </el-form>
 </div>
</template>

vue-particles有一个id为默认为particles-js,可以根据这个id来设置样式。设置之后就可以显示了。

 #particles-js{
    width: 100%;
    height: calc(100% - 100px);
     position: absolute;  
  }

我在做完这一步时,发现点击按钮触发不了。

后来做了如下修改;加个样式 position: relative;,将button的定位写出相对定位就OK啦,我也不知道啥原因,想着修改之前是好的, 可能 被position: absolute;  影响了,所以就一个个试 position的属性

<el-button type="primary" 
         style="width:100%; position: relative;"
         @click="loginSubmit">登录</el-button>

附:具体参数说明

color: String类型。默认'#dedede'。粒子颜色。
particleOpacity: Number类型。默认0.7。粒子透明度。
particlesNumber: Number类型。默认80。粒子数量。
shapeType: String类型。默认'circle'。可用的粒子外观类型有:"circle","edge","triangle", "polygon","star"。
particleSize: Number类型。默认80。单个粒子大小。
linesColor: String类型。默认'#dedede'。线条颜色。
linesWidth: Number类型。默认1。线条宽度。
lineLinked: 布尔类型。默认true。连接线是否可用。
lineOpacity: Number类型。默认0.4。线条透明度。
linesDistance: Number类型。默认150。线条距离。
moveSpeed: Number类型。默认3。粒子运动速度。
hoverEffect: 布尔类型。默认true。是否有hover特效。
hoverMode: String类型。默认true。可用的hover模式有: "grab", "repulse", "bubble"。
clickEffect: 布尔类型。默认true。是否有click特效。
clickMode: String类型。默认true。可用的click模式有: "push", "remove", "repulse", "bubble"。

总结

以上所述是小编给大家介绍的vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应),希望对大家有所帮助!

相关文章

  • Vue利用mockjs编写假数据并应用的问题记录

    Vue利用mockjs编写假数据并应用的问题记录

    这篇文章主要介绍了Vue利用mockjs编写假数据并应用,本文通过实例代码给大家详细讲解,对Vue mockjs数据相关知识感兴趣的朋友跟随小编一起看看吧
    2022-12-12
  • Vue3组件挂载之创建组件实例详解

    Vue3组件挂载之创建组件实例详解

    这篇文章主要为大家介绍了Vue3组件挂载之创建组件实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • elementplus el-table(行列互换)转置的两种方法

    elementplus el-table(行列互换)转置的两种方法

    本文主要介绍了elementplus el-table(行列互换)转置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • 使用Vue.$set()或者Object.assign()修改对象新增响应式属性的方法

    使用Vue.$set()或者Object.assign()修改对象新增响应式属性的方法

    vue代码中,只要在data对象里定义的对象,赋值后,任意一个属性值发生变化,视图都会实时变化,这篇文章主要介绍了使用Vue.$set()或者Object.assign()修改对象新增响应式属性,需要的朋友可以参考下
    2022-12-12
  • vue3获取元素并且修改元素样式的实战操作

    vue3获取元素并且修改元素样式的实战操作

    ref作为在vue里面我们获取元素最常用的一个api,在vue3迎来改造,下面这篇文章主要给大家介绍了关于vue3获取元素并且修改元素样式的相关资料,需要的朋友可以参考下
    2023-04-04
  • 详解vue-class迁移vite的一次踩坑记录

    详解vue-class迁移vite的一次踩坑记录

    本文主要介绍了vue-class迁移vite的一次踩坑记录,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Vue3中事件总线的具体使用

    Vue3中事件总线的具体使用

    本文主要介绍了Vue3中事件总线的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • vscode中Vue别名路径提示的实现

    vscode中Vue别名路径提示的实现

    这篇文章主要介绍了vscode中Vue别名路径提示的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 更强大的vue ssr实现预取数据的方式

    更强大的vue ssr实现预取数据的方式

    这篇文章主要介绍了更强大的 vue ssr 预取数据的方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • vuejs点击class变化的实例

    vuejs点击class变化的实例

    今天小编就为大家分享一篇vuejs点击class变化的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09

最新评论