Inhaltsverzeichnis:

Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins - Gunook
Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins - Gunook

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins - Gunook

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins - Gunook
Video: iCodeFull #052 - Sistema de avaliação em estrelas com CSS e JavaScript | ilustraCode 2024, November
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

Alguns-Plugins, Chamados-Raten, são fantásticos, porem eles são enormes, alguns não são estilizáveis, outros não são elementos de formulário, que possam ser enviados per 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 plugin seja um com configito, o que faz gen seja um que ço, e consequentemente (novamente), sejam grande.

Por 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

Schritt 1: Criando O Javascript (JQuery)

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

Não à motivos überzeugendes de não utilizarmos o Jquery, ja que oder mesmo se mostra bastante estável e muito produtivo.

Abaixo mostro comentado o que cada linha faz

// Auswahl von OS-Containern $('.quest.content[data-element]').each(function(index, item) { // Recupera oder Seletor do input relacionado und 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'); // Entferne eine seleção atual do select e adiciona o da estrela clicada select.find('option').attr('selected', false); select.find('option[value="' + val + '"]').attr('selected', true); // Als Klassen aus der Auswahl von $(stars_element) entfernen. find('.star').removeClass('selected'); var index = $(this).index(), elements = $(stars_element).find('.star'); // Adiciona a seleção à estrela Correspondente e als 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(); });

Schritt 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 für mehr Komfort. Estrelas, Quadrados, Barras. Poremos Usar Tambem Sprites oder 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 { Anzeige: Inline-Block; Breite: 15px; Höhe: 15px; Hintergrund: #fff url(../images/sprite.png) -2px -134px keine Wiederholung; Rand rechts: 3px; Cursor: Zeiger; }

.ratestar.stars.star.selected {

Hintergrund: #fff url(../images/sprite.png) -23px -134px keine Wiederholung; }

Schritt 3: Fazit

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

Empfohlen: