vue2.0实现点击后显示,再次点击隐藏

描述。点击系统切换,弹出系统切换框。再次点击系统切换,隐藏。点击其他地方。也会隐藏

在layout.vue中写的html代码

1、在main.js中写入全局函数

// 定义全局点击函数,右侧系统切换点击其他地方隐藏系统切换菜单,在layout.vue中使用

Vue.prototype.globalClick = function (callback) {

document.onclick = function () {

callback();

};

};

2、在layout.vue中的js部分代码

mounted: function () {

// 调用切换菜单

this.globalClick(this.moreSetupMenuRemove);

},

methods:{ 

moreSetupMenuRemove () {

if(this.isshow && this.istagetShow){

this.leave(document.getElementsByClassName("switch-system")[0]);

this.isshow = false;

this.istagetShow = false;

}else{

this.istagetShow = !this.istagetShow;

if(!this.isshow){

this.istagetShow=false;

}

}

},

toggle: function () {

this.isshow = !this.isshow;

},

leave: function (el, done) {

el.style= "right : -200px";

console.log("leave方法");

},

// 以下三个与enter相关的方法只会在元素由隐藏变为显示的时候才会执行

// el:指的是当前调用这个方法的元素对象

// done:用来决定是否要执行后续的代码如果不执行这个方法,那么将来执行完before执行完enter以后动画就会停止

beforeEnter: function (el) {

console.log("beforeEnter");

// 当入场之前会执行 v-enter

el.style = "right: -200px";

},

enter: function (el, done) {

console.log("enter");

// 为了能让代码正常进行,在设置了结束状态后必须调用一下这个元素的

// offsetHeight / offsetWeight 只是为了让动画执行

el.offsetHeight;

// 结束的状态最后啊写在enter中

el.style = "right: 0px";

// 执行done继续向下执行

done();

}

}

原文地址:https://www.cnblogs.com/guoshuli/p/10001845.html

时间: 2024-11-15 17:08:19

vue2.0实现点击后显示,再次点击隐藏的相关文章

jQuery 点击显示再次点击隐藏

<html> <head> <script type="text/javascript" src="/jquery/jquery.js"></script> </head> <body> <div> <span class="color">深咖色</span> <div class="cc"></div

点击按钮内容显示,再次点击隐藏

html代码: <div class="box">领取红包</div> <p class="main on">恭喜您获得300元红包抵用券</p> css: .box{width: 100px;height: 30px;background: #FA6A2F;text-align: center;line-height: 30px;border-radius: 10px;cursor: pointer;color: #

用HTML和CSS实现点击内容显示再点击隐藏

实现思路: 1.display:none,隐藏元素;点击时display:black; 2.设置隐藏元素高度为0,overflow:hidden;点击时overflow:visible; 由于第一条只能实现点击时显示,不能实现继续隐藏:排除方法1. 考虑复选框特性,点击时样式框内有小勾,再点击时小勾消失. HTML实现代码: <div> <input type="checkbox" id="dianji"> <label for=&qu

关于点击显示PopupWindow再次点击消失的问题

点击一个按钮,弹出一个PopupWindow,想在触摸PopupWindow外区域或是再次点击按钮的时候dismiss此PopupWindow.直接上代码: //点击事件里的代码 if (mWin == null) { initPopupWindow(); } if (mWin.isShowing()) {//这一句真心没用,isShowing()总是返回false Util.write("win is showing"); mWin.dismiss(); } else { Util.

一次和别人争吵一个按钮,点击后显示导航;再点击不显示的效果,是否一定以及必须用js?

事情经过是这样的,我们组一个说话很喜欢用一定,肯定的哥们,吃午饭的时候拿了自己做的一个UI库,头部有一个按钮 点击展开,再次点击收缩,他意思说一个按钮无法记录点击状态,必须使用js.然后我看了一眼,心想target有可能能做到这个效果,然后我说不一定,他还是说肯定,还要跟我打赌说:如果我能做出来,给我500块.如果我做不出怎样? 因为到底具体还没有实践过,而且我只是说不一定,所以我没有当场和他打赌,然后他就自己给我定条件说: 如果做不出,你请大家吃顿饭. 听他这么说我就有点不高兴了,你自己说肯定

饿了么基于Vue2.0的通用组件开发之路(分享会记录)

Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网:http://element.eleme.io/#/github:https://github.com/ElemeFE/element ## 设计目的 大部分项目起源都是源于业务方的需求,Element 也是一样.随着公司业务发展,内部开始衍生出很多后台系统,UED 部门也接到越来越多的设计需求,

Vue2.0的通用组件

饿了么基于Vue2.0的通用组件开发之路(分享会记录) Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网:http://element.eleme.io/#/github:https://github.com/ElemeFE/element ## 设计目的 大部分项目起源都是源于业务方的需求,Element 也是一样.随着公司业务发展,内部开始衍

Vue2.0总结———vue使用过程常见的一些问题

Vue目前的的开发模式主要有两种: 1.直接页面级的开发,script直接引入Vue 2.工程性开发,webpack+loader或者直接使用脚手架工具Vue-cli,里面的文件都配置好了 webpack可以进行配置,配置多文件入口,进行多页面开发 第二种Vue开发,结合webpack打包完文件会很大,怎么解决这个问题? 1.webpack代码拆分:code-spliting 2.提取公共(如提取css,js) 3.预渲染:使用prerender-spa-plugin插件 4.后台----开启压

使用vue2.0 vue-router vuex 模拟ios7操作

其实你也可以,甚至做得更好... 首先看一下效果:用vue2.0实现SPA:模拟ios7操作 与 通讯录实现 github地址是:https://github.com/QRL909109/ios7 如果您觉得可以,麻烦给一个star,支持我一下. 之前接触过Angular1.0,React,都只是学点入门,但对于Vue却觉得很容易上手,不止入门简单,插件也是很丰富的,脚手架也是便利的很... 项目分析: 1.首屏滑动解锁,并能移动小圆点 2.主屏幕  长按图标抖动,删除图标,点击小圆点的主屏幕