<script src="https://npmcdn.com/vue/dist/vue.js"></script>
<div id="exercise">
<!-- 1) Start the Effect with the Button. The Effect should alternate the "highlight" or "shrink" class on each new setInterval tick (attach respective class to the div with id "effect" below) -->
https://jsfiddle.net/dralyuk/uxb860q6/#run <div>
<button @click="startEffect" >Start Effect</button>
<div id="effect" :class="effectClass"></div>
</div>
<!-- 2) Create a couple of CSS classes and attach them via the array syntax -->
<hr>
<div :class="['colorRed', 'bold']">I have got several classes :)</div>
<!-- 3) Let the user enter a class (create some example classes) and attach it -->
<hr>
<div>
<span><i>bgRed, bgBlue, bgYellow</i> - </span>
<input type="text" v-model="userClass">
<div :class="['box', userClass]"></div>
</div>
<!-- 4) Let the user enter a class and enter true/ false for another class (create some example classes) and attach the classes -->
<div>
<hr>
<span>class </span>
<input type="text" v-model="userClass2">
<span> is yellow? </span>
<input type="text" v-model="userClass3">
<div class="box" :class="[userClass2, {'bgYellow': userClass3 === 'true'}]"></div>
</div>
<!-- 5) Repeat 3) but now with values for styles (instead of class names). Attach the respective styles. -->
<div>
<hr>
<span>Enter background color </span>
<input type="text" v-model="userBgColor">
<div class="box" :style="{'background': userBgColor}"></div>
</div>
<!-- 6) Create a simple progress bar with setInterval and style bindings. Start it by hitting the below button. -->
<div>
<hr>
<button v-on:click="startProgress">Start Progress</button>
<div class="statusBar">
<div class="statusBar__line" :style="{'width': statusBarPercent + '%'}"></div>
{{ statusBarPercent }} %
</div>
</div>
</div>