Sadržaj:

Criando Estrelas Para Votação Com JQuery Sem Uso De Dodaci: 3 koraka
Criando Estrelas Para Votação Com JQuery Sem Uso De Dodaci: 3 koraka

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Dodaci: 3 koraka

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

Dodaci za alguns, stope chamadosa, 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 putem pošte, e muitos outros detalhes. Precisamos pensar que plugins são ferramentas para facilitar, eo uso destes são realmente needsários, porem também precisamos ter em mente que alguns plugins needitam funcionar em vários cenários, o que faz com que o dodatak seja uma coisa genéricaes mu conzisense, conzéncevio, e posljedentemente (novamente), sejam grande.

Por conta disco, 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

Korak 1: Criando O Javascript (JQuery)

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

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

Abaixo mostro komentira o que cada linha faz

// Odabir kontejnera $ ('. Quest.content [data-element]'). Svaki (funkcija (indeks, stavka) {// Rekuperacija o selektora za unos relacionado ili os elementos var selector = $ (item).data ('element'), stars_element = $ (''), select = $ (selektor), options = select.find ('option'), selected = select.find ('opcija: odabrano'); // Percorre kao što to čine opções select options.each (function (option_index, option) {// Adiciona uma estrela para cada opção var star = $ (''); stars_element.append (star); // Ao klip na estrela star.on ('klik', function () {// Recupera o valor clicado var val = $ (this).data ('value'); // Uklanjanje odabranog stvarnog do select e adiciona o da estrela clicada select.find ('option'). attr ('selected', false); select.find ('option [value = "' + val + '"]'). attr ('selected', true); // Ukloni kao klase 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 korespondente e kao ante riores à ela za (i = 0; i <= indeks; i ++) {$ (stars_element).find ('. star: nth-child ('+(i+1)+')'). addClass ('selected'); }}); }); // Adiciona o elementu novo e remove o antigo (select) select.after (stars_element); select.hide (); });

Korak 2: Trabalhando Com O CSS

Trabalhando Com O CSS
Trabalhando Com O CSS

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

.ratestar.stars.star {display: inline-block; širina: 15px; visina: 15px; pozadina: #fff url (../ images/sprite.png) -2px -134px bez ponavljanja; margin-right: 3px; pokazivač: pokazivač; }

.ratestar.stars.star.selected {

pozadina: #fff url (../ images/sprite.png) -23px -134px bez ponavljanja; }

Korak 3: Zaključak

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

Preporučeni: