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 相关文章推荐
javascript 日期时间函数(经典+完善+实用)
May 27 Javascript
使用jQuery避免鼠标双击的解决方案
Aug 21 Javascript
JQuery $.each遍历JavaScript数组对象实例
Sep 01 Javascript
js防止DIV布局滚动时闪动的解决方法
Oct 30 Javascript
详解JavaScript中的every()方法
Jun 08 Javascript
JS实现跟随鼠标的链接文字提示框效果
Aug 06 Javascript
jQuery之简单的表单验证实例
Jul 07 Javascript
vue-quill-editor实现图片上传功能
Aug 08 Javascript
vue webpack开发访问后台接口全局配置的方法
Sep 18 Javascript
详解如何在vue项目中使用lodop打印插件
Sep 27 Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
Oct 05 Javascript
原生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 学习路线与时间表
2010/02/21 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
AngularJS实现DOM元素的显示与隐藏功能
2016/11/22 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
python与字符编码问题
2019/05/24 Python
Python字符串对象实现原理详解
2019/07/01 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
python Canny边缘检测算法的实现
2020/04/24 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
生物科学系大学生的自我评价
2013/12/20 职场文书
护理中职生求职信范文
2014/02/24 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
运动会口号大全
2014/06/07 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
合作与交流自我评价
2015/03/09 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
MySQL普通表如何转换成分区表
2022/05/30 MySQL
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS