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 相关文章推荐
看了就知道什么是JSON
Dec 09 Javascript
基于JQuery框架的AJAX实例代码
Nov 03 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
Jan 15 Javascript
瀑布流布局并自动加载实现代码
Mar 12 Javascript
基于javascript实现判断移动终端浏览器版本信息
Dec 09 Javascript
javascript作用域链(Scope Chain)用法实例解析
Nov 30 Javascript
javascript小数精度丢失的完美解决方法
May 31 Javascript
深入理解JS实现快速排序和去重
Oct 17 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
Jan 10 Javascript
redux.js详解及基本使用
May 24 Javascript
layui 阻止图片上传的实例(before方法)
Sep 26 Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
CentOS安装php v8js教程
2015/02/26 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
悄悄用脚本检查你访问过哪些网站的代码
2010/12/04 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
Python3 max()函数基础用法
2019/02/19 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Python通过Tesseract库实现文字识别
2020/03/05 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
护士实习生自我鉴定范文
2013/12/10 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
应届大专生求职信
2014/06/26 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
2015年业务工作总结范文
2015/04/10 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫
Nginx的gzip相关介绍
2022/05/11 Servers
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript