JSFiddle - React, Tailwind, and code Playground

by Stev Peifer

HTML

<div id="options"></div>

JavaScript

(
    function($){
        $.fn.select=function(option){
            var memory={},

            methods={
                switchOption:function(optionIndex){
                    if(!variables.isBusy){
                    	variables.isBusy=true;
                        switch(optionIndex){
                            case -1:
                                variables.currentOption=option.options.length-1;
                                break;
                            case option.options.length:
                                variables.currentOption=0;
                                break;
                            default:
                                variables.currentOption=optionIndex;
                                break;
                        };
                        memory.parent.data(
                            {
                            	value:option.options[variables.currentOption].value  
                            }
                        );
                        memory.option.animate(
                            {
                                color:'rgba(169,169,169,0)'
                            },option.animation.speed/2*option.animation.animate,
                            function(){
                                memory.option.val(option.options[variables.currentOption].display);
                                memory.option.animate(
                                    {
                                        color:'rgba(169,169,169,1)'
                                    },option.animation.speed/2*option.animation.animate,
                                    function(){
                                        var result={
                                            element:memory.parent,
                                            value:memory.parent.data('value')
                                        };
                                        option.callback(result);
                                       ...