• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

css 实现输入框错误 晃动效果

网上去找个晃动的样式 放到我们 login的 css 文件 style.scss 中:

.shake {
    animation: shake 800ms ease-in-out;
}

@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(+2px, 0, 0); }
    30%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(+4px, 0, 0); }
    50% { transform: translate3d(-4px, 0, 0); }
}

然我们写一个动态添加晃动样式的函数和check的函数:

shake(elemId) {
    let elem = document.getElementById(elemId)
    if (elem) {
        elem.classList.add('shake')
        setTimeout(()=>{ elem.classList.remove('shake') }, 800)
    }
},
check() {
    if (this.loginForm.username === '') {
        this.shake('username')
        return false
    }
    if (this.loginForm.password === '') {
        this.shake('password')
        return false
    }
    return true
},

我们为我们需要添加样式的元素添加上id:

<!-- 账号输入框组 -->
<div id="username" class="input-group">
<!-- 密码输入框组 -->
<div id="password" class="input-group">

最后调整我们的验证函数: handleLogin

async handleLogin() {
    if (this.check()) {
        // 省略...
    }
}


0
0
下一篇:vue 事件中的 native 在 父组件 中给 子组件 绑定一个 原生的事件

0 条评论

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。