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, Novembar
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, chamados rate, 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 via post, and muitos outros details. 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 dodatku seja uma coisa genéricaes conzisio convisio, konsekvence, e posljedica (novamente), sejam grande.

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

Usando como base um campo, podemos remove-lo e adicionar nosso rate personalizado, fazendo 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 ubjeđuje de não utilizarmos o Jquery, já que o mesmo se većina bastante estável e muito produtivo.

Abaixo mostro komentira que cada linha faz

// Odabir kontejnera $ ('. Quest.content [data-element]'). Svaki (funkcija (indeks, stavka) {// Ponovni izbor selektora za unos relacije i os elementos var selector = $ (item).data ('element'), stars_element = $ (''), select = $ (selektor), options = select.find ('option'), selected = select.find ('option: selected'); // Percorre kao što to rade opções select options.each (function (option_index, option) {// Adiciona uma estrela para cada opção var star = $ (''); stars_element.append (star); // Ao klika na estrela star.on ('klik', function () {// Oporavak ili odvažnost klikova var val = $ (this).data ('value'); // Uklanjanje stvarnog odabira za odabir i dodatak o odabiru klike odabira.find ('option'). attr ('selected', false); select.find ('option [value = "' + val + '"]'). attr ('selected', true); // Ukloni kao klase za odabir da estrela $ (stars_element). find ('. star'). removeClass ('selected'); var index = $ (this).index (), elements = $ (stars_element).find ('. star'); // Dodavanje i odabir à estrela korespondente e kao ante riores à ela za (i = 0; i <= indeks; i ++) {$ (stars_element).find ('. star: nth-child ('+(i+1)+')'). addClass ('selected'); }}); }); // Dodavanje elementa novo i uklanjanje antigo (odabir) 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 ili mais facili. Podemos utilizar o que for mais comfortente. Estrelas, quadrados, barras. Poremos usar tambem sprites or the images isoladas. Podemos utilizar estilos sem imagens, enfim, vai da needidade de cada um. O važno je 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; margina-desno: 3px; kursor: pokazivač; }

.ratestar.stars.star.selected {

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

Korak 3: Zaključite

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

Preporučuje se: