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


Posted in Javascript onFebruary 11, 2020

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

解决问题:

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

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实现粒子背景效果及遇到的坑(按钮没有点击响应),希望对大家有所帮助!

Javascript 相关文章推荐
JS分割字符串并放入数组的函数
Jul 04 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
Sep 28 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
Oct 09 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
Nov 20 Javascript
详谈js中window.location.search的用法和作用
Feb 13 Javascript
AngularJS页面带参跳转及参数解析操作示例
Jun 28 Javascript
js 倒计时(高效率服务器时间同步)
Sep 12 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
Vue中在新窗口打开页面及Vue-router的使用
Jun 13 Javascript
Vue 无限滚动加载指令实现方法
May 28 Javascript
微信小程序实现下拉框功能
Jul 16 Javascript
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
原生js拖拽实现图形伸缩效果
Feb 10 #Javascript
js实现单元格拖拽效果
Feb 10 #Javascript
详解Vue template 如何支持多个根结点
Feb 10 #Javascript
JavaScript canvas动画实现时钟效果
Feb 10 #Javascript
JavaScript canvas仿代码流瀑布
Feb 10 #Javascript
Vue数字输入框组件使用方法详解
Feb 10 #Javascript
JavaScript canvas实现跟随鼠标事件
Feb 10 #Javascript
You might like
PHP header函数分析详解
2011/08/06 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
php实现图片上传时添加文字和图片水印技巧
2020/04/18 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
centos6.4下python3.6.1安装教程
2017/07/21 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
python简单贪吃蛇开发
2019/01/28 Python
Python flask框架post接口调用示例
2019/07/03 Python
pytorch实现线性拟合方式
2020/01/15 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
计算机专业推荐信范文
2013/11/27 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
花店创业计划书范文
2014/02/07 职场文书
党校毕业个人总结
2015/02/28 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
道士塔读书笔记
2015/06/30 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
读《儒林外史》有感:少一些功利,多一些真诚
2020/01/19 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python
js前端图片加载异常兜底方案
2022/06/21 Javascript