Sommario:

Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins: 3 Steps
Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins: 3 Steps

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins: 3 Steps

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins: 3 Steps
Video: Top 15 React UI Component Libraries 2024, Dicembre
Anonim
Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins
Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins
Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins
Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins

Plugin di Alguns, tassi di chamados, são fantásticos, porem eles são enormes, alguns no são estilizáveis, outros não são ào elementis de formulário, que potrebbem ser enviados via post, e muitos outros detalhes. Precisamo pensar que plugins são ferramentas para facilitar, eo uso destes são realmente necessários, porem também precisamos ter em mente que alguns plugins necessitam funcionar em vários cenários, o que faz com que o plugin seja uma, muitoe genécom, e conseguentemente (nomente), sejam grande.

Por conta disso, resolvi mostrar uma solução muito simples, que pode ser Adaptada por qualquer um, e estilizada por quase todos.

Usando come base um campo, podemos remove-lo e adicionar nosso rate personalizado, fazendo com que o select vire um fallback caso algo ocorra errado

Passaggio 1: Criando O Javascript (JQuery)

Criando O Javascript (JQuery)
Criando O Javascript (JQuery)

Não à motivos convincentes de não utilizarmos o Jquery, já que o mesmo se mostra bastante estável e muito produtivo.

Abaixo mostro comentado o que cada linha faz

// Seleziona i contenitori $('.quest.content[data-element]').each(function(index, item) { // Recupera o seleziona input relacionado e os elementi var selector = $(item).data('elemento'), stars_element = $(' '), select = $(selector), options = select.find('option'), selected = select.find('option:selected'); // Percorre come fanno le opzioni select options.each(function(option_index, option) { // Aggiungi un'altra opzione per ogni opzione var star = $(' '); stars_element.append(star); // Clicca qui per star.on('click', function() { // Recupera il valore cliccato var val = $(this).data('value'); // Rimuovi una selezione a tua scelta, seleziona e aggiungi un'altra selezione select.find('option').attr('selected', false); select.find('option[value="' + val + '"]').attr('selected', true); // Rimuovi come classi di selezione da estrela $(stars_element). find('.star').removeClass('selected'); var index = $(this).index(), elements = $(stars_element).find('.star'); // Aggiungi una selezione al corrispondente e come ante riores à ela for(i=0; i<=indice; i++) { $(stars_element).find('.star:nth-child(' + (i+1) + ')').addClass('selected'); } }); }); // Adiciona o elemento novo e remove o antigo (select) select.after(stars_element); select.hide(); });

Passaggio 2: Trabalhando Com O CSS

Trabalhando Com O CSS
Trabalhando Com O CSS

Com tudo criado, o CSS é o mais facil. Podemos utilizar o que for mais conveniente. Estrelas, quadrados, barras. Poremos usar tambem sprites ou imagens isoladas. Podemos utilizar estilos sem imagens, enfim, vai da necessidade de cada um. O importante aqui é que podemos modificar conforme precisamos.

.ratestar.stars.star { display: inline-block; larghezza: 15px; altezza: 15px; sfondo: #fff url(../images/sprite.png) -2px -134px no-repeat; margine destro: 3px; cursore: puntatore; }

.ratestar.stars.star.selected {

sfondo: #fff url(../images/sprite.png) -23px -134px no-repeat; }

Fase 3: Conclusione

Concluímos que o desempenho deste é muito bom, e a facilidade de uso é melhor ainda. Caso o usuário não tenha JS habilitado, ele ainda poderá utilizar o normalmente

Consigliato: