vue与animate.css 结合使用在可视区域内动态展示的自定义指令

1、vue自定义指令

Vue.directive(‘class‘, {
  inserted: function (el, binding) {
    // 聚焦元素
    binding.addClass = () => {
      const { top } = el.getBoundingClientRect()
      const h = document.documentElement.clientHeight || document.body.clientHeight
      if (top < h) {
        el.className = binding.value
        if (binding.addClass) {
          window.removeEventListener(‘scroll‘, binding.addClass)
        }
      }
    }

    window.addEventListener(‘scroll‘, binding.addClass)

    binding.addClass()
  },
  unbind: function (el, binding) {
    if (binding.addClass) {
      window.removeEventListener(‘scroll‘, binding.addClass)
      console.log(‘取消事件绑定‘)
    }
  }
})

2、使用方式

<div v-class="‘animated fadeInUp‘"></div>

原文地址:https://www.cnblogs.com/wjs0509/p/12632912.html

时间: 2024-11-09 19:26:00

vue与animate.css 结合使用在可视区域内动态展示的自定义指令的相关文章

高德地图判断点的位置是否在浏览器可视区域内

业务场景如下: 1.在地图上点击企业位置mark时,地图不做缩放和移动操作(能点击mark,说明该位置肯定在可视区域内). 2.点击右侧企业列表的企业时,如果企业的位置不在当前可视区域内,就需要将地图平滑的移动到该企业位置,并且需要缩小地图,先查看到该企业位于哪个区域,再将地图放大到之前缩放的级别. 实现思路: 高德地图有几个关系判断的API:判断点是否在线上.点是否在多边形内.面与面的几何关系,可看下方链接示例 https://lbs.amap.com/api/javascript-api/e

vue使用animate.css

1.在main.js中引入animate.css import './assets/animate.css' 2.使用transition标签包裹运动的元素,使用enter-active-class定义进入动画,使用leave-active-class定义离开动画,注意animate.css的所有动画要加animated这个类 <transition enter-active-class="animated bounce" leave-active-class="ani

判断元素是否在可视区域内

如果页面有头部置顶和底部置底的元素,需要自行进行计算: scrollTop  +   头部置顶元素高度 screenHeight - (置顶和置底元素的高度) //元素距离页面顶部的距离 var eleTop = $("#ele").offset().top; //元素本身的高度 var eleHeight = $("#ele").height(); //页面滚动的距离 var scrollTop = $(window).scrollTop(); //可视区域高度

可视区域内拖拽

视频地址:http://www.imooc.com/learn/60 看最下面的例子 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>慕课网-拖拽效果</title> <style type="text/css&qu

判断dom原始是否在可视区域内

isElementInViewport (el, offset = 0) { const box = el.getBoundingClientRect(), top = (box.top >= 0), left = (box.left >= 0), bottom = (box.bottom <= (window.innerHeight || document.documentElement.clientHeight) + offset), right = (box.right <=

Animate.css让添加CSS动画像喝水一样容易

animate.css是一堆很酷的,有趣的,跨浏览器的动画效果库,你可以随意在你的项目中使用.用在你想要突出的任何地方,如主页,滑块,这像喝水一样容易,迷死人了. 用法 在您的网站上使用animate.css,只要简单地把样式表插入到文档中的<HEAD>中,并为需要动画的元素添加一个CSS类名即可,以及动画的名称.就是这样!你就有了一个CSS动画效果.超强! <head>   <link rel="stylesheet" href="animat

ztree获取选中节点时不能进入可视区域出现BUG如何解决

zTree 是一个依靠 jQuery 实现的多功能 "树插件".优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. zTree 的特点编辑 ● zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载● 采用了延迟加载技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀● 兼容 IE.FireFox.Chrome.Opera.Safari 等浏览器● 支持 JSON 数据● 支持静态和 Ajax 异步加载节点数据● 支持任意更换皮肤 / 自定义图

Ztree插件,定位节点时(focus)不能进入可视区域BUG解决方案

相关插件版本: jquery.ztree.exedit-3.4.js jquery.ztree.all-3.4.js jquery-1.8.0.js 1 function onAsyncSuccess(event, treeId, treeNode, msg) { 2 curAsyncCount--; 3 if (curStatus == "expand") { 4 expandNodes(treeNode.children); 5 } else if (curStatus == &q

js可视区域图片懒加载

可视区域图片懒加载 实现原理,页面滚动时获取需要懒加载的图片,判断此图片是否在可视区域内,是则设置图片data-src地址为src地址,加载图片. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jquery可视区域图片懒加载</title> <script src="http://libs.baidu.com/jquery/2