Vue
by Alex Kyriakidis
HTML
<div id="app">
<h1 v-switching-color="['purple', 'gold', 'pink', 'blue']">Vue School</h1>
</div>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
}
h1 {
font-weight: bold;
margin-bottom: 15px;
}
del {
color: rgba(0, 0, 0, 0.3);
}
Vue
Vue.directive('switching-color', function (el, binding) {
const colors = binding.value
let i = 0
setInterval(() => {
el.style.color = colors[i++]
if (i > colors.length - 1) {
i = 0
}
}, 500)
})
new Vue({
el: "#app",
data: {}
})