<template>
<div class="main">
<div id="app">
<button @click="btnOut()">淡出</button>
<el-input
id="div1"
size="medium"
v-model="code"
:placeholder="请扫描文字"
@keydown.native.enter="getScan()"
style="opacity: 1"
></el-input>
</div>
</div>
</template>
<script>
export default {
components: {},
data() {
return {
code: '',
};
},
mounted() {
this.init();
},
methods: {
getScan() {},,
fadeOut(speed) {
let el = document.getElementById('div1');
el.style.opacity = 1;
if (el.style.opacity != 0) {
var speed = speed || 30;
var num = 10;
var st = setInterval(function () {
num--;
el.style.opacity = num / 10;
if (num <= 0) {
el.style.opacity = 1;
let ell = el.parentNode;
ell.classList.remove('change');
clearInterval(st);
}
}, speed);
}
},
//淡出按钮可以更换为接口方法
btnOut() {
//获取到input
let el = document.getElementById('div1');
//el-input设置样式在他标签的父级
let ell = el.parentNode;
ell.className += ' change';
this.fadeOut(300)
},
};
</script>
<style lang="scss" scoped>
//设置input淡出前的文字,这里设置的红色
::v-deep .change .el-input__inner {
&::placeholder {
color: red;
}
}
</style>
在使用el-input的时候点击按钮让placeholder的颜色淡出