Cuprins:

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

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

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins: 3 Steps
Video: Top 15 React UI Component Libraries 2024, Noiembrie
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 rates, são fantásticos, porem eles são enormes, some não são stilizáveis, outros não são elements de formulário, care possam ser enviados via post, e muitos outros detalhes. Precisamos think that plugins são tools to facilit, eo use these são really needários, porem alsom precisamos ter em mente that some plugins necessitam functionar em vários cenários, o that faz com that o plugin seja uma coisa genérica, conséquently with muitos desvios, muitas configurações, e consequently (novamente), sejam grande.

Por conta disso, resolvi mostrar uma solução muito simples, care poate fi ușor adaptat pentru calquer um, și stilizat pentru toate.

Folosind ca bază în câmp, putem elimina-adăugăm și adăugăm o rată personalizată, fazând cu care selectăm un cadru în caz de rezervă

Pasul 1: Criando O Javascript (JQuery)

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

Não à motivos convincentes de não utilarmos o Jquery, já que o chiar se arată destul de stătut și muit producător.

Abaixo mostro comentat o că fiecare linha faz

// Seleciona os containers $ ('. Quest.content [data-element]'). Each (function (index, item) {// Recupera o seletor do input related and os elements var selector = $ (item).data ('element'), stele_element = $ (''), select = $ (selector), options = select.find ('option'), selected = select.find ('option: selected'); // Percorre as opções do select options.each (function (option_index, option) {// Adăugați o stea pentru fiecare opțiune var star = $ (''); stars_element.append (stea); // A face clic pe stea star.on ('click', function () {// Recupera o valor clicado var val = $ (this).data ('value'); // Remove a seleção atual do select e adiciona o da estrela clickada select.find ('option'). attr ('selected', false); select.find ('option [value = "' + val + '"]'). attr ('selected', true); // Eliminați ca clase de selecție da estrela $ (stars_element). find ('. star'). removeClass ('selected'); var index = $ (this).index (), elements = $ (stars_element).find ('. star'); e ca ante riores à ela for (i = 0; i <= index; i ++) {$ (stars_element).find ('. star: nth-child (' + (i + 1) + ')'). addClass ('selected'); }}); }); // Adăugare element nou și eliminare antigo (select) select.after (stars_element); select.hide (); });

Pasul 2: Trabalhando Com O CSS

Trabalhando Com O CSS
Trabalhando Com O CSS

Com tudo criado, o CSS este mai ușor. Putem utiliza o că pentru mai convenabil. Estrelas, quadrados, barras. Poremos use tambem sprites ou imagens isoladas. Podemos use estilos sem imagens, enfim, vai da necessitate de cada um. O importantă acțiune este că putem modifica conform preciselor.

.ratestar.stars.star {display: inline-block; lățime: 15 px; înălțime: 15 px; fundal: #fff url (../ images / sprite.png) -2px -134px fără repetare; margine-dreapta: 3px; cursor: pointer; }

.ratestar.stars.star.selected {

fundal: #fff url (../ images / sprite.png) -23px -134px fără repetare; }

Pasul 3: Concluzie

Concluzii care o desempenho astfel este muito bom, și o ușurință de utilizare este mai bună. Caso o usuário não tenha JS habilitado, ele ainda poderá utiliza o normalmente

Recomandat: