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 相关文章推荐
jQuery页面滚动浮动层智能定位实例代码
Aug 23 Javascript
浅析LigerUi开发中谨慎载入common.css文件
Jul 09 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
Jan 12 Javascript
浅谈JavaScript 标准对象
Jun 02 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
Sep 20 Javascript
bootstrap fileinput 插件使用项目总结(经验)
Feb 22 Javascript
Angular2开发——组件规划篇
Mar 28 Javascript
利用node.js爬取指定排名网站的JS引用库详解
Jul 25 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
Aug 14 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
Sep 17 Javascript
JavaScript工具库之Lodash详解
Jun 15 Javascript
JavaScript实现猜数字游戏
May 20 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
jqPlot 图表中文API使用文档及源码和在线示例
2012/02/07 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
Python中type的构造函数参数含义说明
2015/06/21 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
PyQt5实现拖放功能
2018/04/25 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
python实现文件的分割与合并
2019/08/29 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
后勤人员自我鉴定
2013/10/20 职场文书
会计电算化专业毕业生自荐信
2013/12/20 职场文书
学校运动会开幕演讲稿
2014/01/04 职场文书
2014年中班元旦活动方案
2014/02/14 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
2014年生产部工作总结
2014/12/17 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书