Spisu treści:

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

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

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

Wtyczki Alguns, ceny chamados, são fantásticos, porem eles são enormes, alguns não são estilizáveis, outros não são elementos de formułario, que possam ser enviados za pośrednictwem poczty, 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 faze coméricament que o plugin 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

Krok 1: Criando O JavaScript (JQuery)

Criando O JavaScript (JQuery)
Criando O JavaScript (JQuery)

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

Abaixo mostro komentarz o que cada linha faz

// Wybierz kontenery $('.quest.content[element-danych]').each(function(index, item) { // Odzyskaj selektor do wprowadzania danych i relacji z elementami var selector = $(item).data('element'), stars_element = $(' '), select = $(selector), options = select.find('option'), selected = select.find('option:selected'); // Percorre as opções to select options.each(function(option_index, option) { // Dodaj informacje o 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'); // Usuń seleção aual to select i adiciona lub estrela clicada select.find('option').attr('selected', false); select.find('option[value="' + val + '"]').attr('selected', true); // Usuń jako klasy selekcji $(elementy_gwiazd). find('.star').removeClass('selected'); var index = $(this).index(), elements = $(stars_element).find('.star'); e jako ante Riores à ela for(i=0; i<=indeks; i++) { $(element_gwiazdek).find('.star:nth-child(' + (i+1) + ')').addClass('selected'); } }); }); // Dodaj element nowego e usuń o antigo (wybierz) select.after(stars_element); wybierz.ukryj(); });

Krok 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 dla większej wygody. Estrelas, quadrado, barras. Poremos usar tambem sprites lub 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 { wyświetlacz: inline-block; szerokość: 15px; wysokość: 15px; tło: #fff url(../images/sprite.png) -2px -134px bez powtórzeń; margines prawy: 3px; kursor: wskaźnik; }

.ratestar.stars.star.selected {

tło: #fff url(../images/sprite.png) -23px -134px bez powtórzeń; }

Krok 3: Podsumowanie

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

Zalecana: