Kazalo:

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

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

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins: 3 koraki
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 vtičniki, chamados stopnje, 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 po pošti, e muitos outros podrobhes. Precisamos pensar que vtičniki são ferramentas para facilitar, eo uso destes são realmente needsários, porem também precisamos ter em mente que alguns vtičniki potrebitam funcionar em vários cenários, o que faz com que o vtičniku seja uma coisa genéricaes conzisio concisio concesio conciso, e posledentemente (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 nadomestni caso algo ocorra errado

1. korak: Criando O Javascript (JQuery)

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

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

Abaixo mostro je komentiral que cada linha faz

// Izbira vsebnikov $ ('. 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 = $ (selektor), options = select.find ('option'), selected = select.find ('možnost: izbrano'); // Percorre kot 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'); // Odstrani izbrano dejanje do select e adiciona o da estrela clicada select.find ('option'). attr ('selected', false); select.find ('option [value = "' + val + '"]'). attr ('selected', true); // Odstrani kot razrede 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 kot ante riores à ela za (i = 0; i <= indeks; i ++) {$ (stars_element).find ('. star: nth-child ('+(i+1)+')'). addClass ('izbrano'); }}); }); // Adiciona o elemento novo e remove o antigo (select) select.after (stars_element); select.hide (); });

2. korak: Trabalhando Com O CSS

Trabalhando Com O CSS
Trabalhando Com O CSS

Com tudo criado, o CSS -ju ali olajšati. 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 Importantte aqui é que podemos modificar conforme precisamos.

.ratestar.stars.star {display: inline-block; širina: 15px; višina: 15px; ozadje: #fff url (../ images/sprite.png) -2px -134px brez ponavljanja; desni rob: 3px; kazalec: kazalec; }

.ratestar.stars.star.selected {

ozadje: #fff url (../ images/sprite.png) -23px -134px brez ponovitve; }

Korak: Zaključite

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

Priporočena: