Table des matières:

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

Vidéo: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins : 3 étapes

Vidéo: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins : 3 étapes
Vidéo: Formulario com 3 etapas - final - cadastro e validacao com ajax 2024, Novembre
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

Plugins Alguns, tarifs chamados, são fantásticos, porem eles são énormes, alguns não são estilizáveis, outros não são elementos de formulário, que possam ser enviados via post, e muitos outros detalhes. Precisamos 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, muisa uma des conséquentes, e conséquentemente (novamente), sejam grande.

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

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

Étape 1: Criando O Javascript (JQuery)

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

Não à motivos persuadentes 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

// Sélection des conteneurs $('.quest.content[data-element]').each(function(index, item) { // Recupera o selector do input relacionado e os elementos var selector = $(item).data('element'), stars_element = $(' '), select = $(selector), options = select.find('option'), selected = select.find('option:selected'); // Percorre as opções do select options.each(function(option_index, option) { // Adiciona uma estrela para cada opção var star = $(' '); stars_element.append(star); // Ao clicar na estrela star.on('click', function() { // Recupera o valor clicado var val = $(this).data('value'); // Supprimer une sélection atual do select e adiciona o da estrela clicada select.find('option').attr('selected', false); select.find('option[value="' + val + '"]').attr('selected', true); // Supprimer en tant que classes de seleção da estrela $(stars_element). find('.star').removeClass('selected'); var index = $(this).index(), elements = $(stars_element).find('.star'); // Adiciona a seleção à estrela correspondantee e comme ante riores à ela for(i=0; i<=index; 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(); });

Étape 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 pour plus pratique. Estrelas, quadrados, barras. Poremos usar tambem sprites ou imagens isoladas. Podemos utilizar estilos sem imagens, enfim, vai da necessidade de cada um. O important aqui é que podemos modificar conforme precisamos.

.ratestar.stars.star { afficher: bloc en ligne; largeur: 15px; hauteur: 15px; arrière-plan: #fff url(../images/sprite.png) -2px -134px sans répétition; marge droite: 3px; curseur: pointeur; }

.ratestar.stars.star.selected {

arrière-plan: #fff url(../images/sprite.png) -23px -134px sans répétition; }

Étape 3: Conclusion

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

Conseillé: