Indholdsfortegnelse:

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

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

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins: 3 trin
Video: API Github - Javascript (Vanilla), React e Vue - Vídeo 1 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 plugins, chamados -priser, são fantásticos, porem eles soo enormes, alguns não são estilizáveis, outros não são elementos de formulário, que possamam ser enviados via post, 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 necessitam funcionar em vários cenários, o que faz com que o plugin seja uma coisa genérica, consequenta com mons, 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

Trin 1: Criando O Javascript (JQuery)

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

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

Abaixo mostro comentado o que cada linha faz

// Seleciona os containere $ ('. Quest.content [data-element]'). Hver (funktion (indeks, element) {// Recupera o seletor do input relacionado e os elementos var selector = $ (item).data ('element'), stars_element = $ (''), select = $ (selector), options = select.find ('option'), valgt = select.find ('option: valgt'); // Percorre som opções do vælg options.each (funktion (option_index, option) {// Adiciona uma estrela para cada opção var star = $ (''); stars_element.append (star); // Ao clicar and estrela star.on ('click', function () {// Recupera o valor clicado var val = $ (this).data ('value'); // Fjern en valgmulighed, vælg en adiciona o da estrela clicada select.find ('option'). attr ('valgt', falsk); select.find ('option [value = "' + val + '"]'). attr ('valgt', sand); // Fjern som klasser de seleção da estrela $ (stars_element). find ('. stjerne'). removeClass ('valgt'); var index = $ (dette).index (), elementer = $ (stjerner_element).find ('. stjerne'); // Adiciona a seleção à estrela correspondente e som ante riores à ela for (i = 0; i <= indeks; i ++) {$ (stars_element).find ('. star: nth-child ('+(i+1)+')'). addClass ('valgt'); }}); }); // Adiciona o elemento novo e remove o antigo (select) select.after (stars_element); select.hide (); });

Trin 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 for mais praktiske. Estrelas, quadrados, barras. Poremos usar tambem sprites ou 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 {display: inline-block; bredde: 15px; højde: 15px; baggrund: #fff url (../ images/sprite.png) -2px -134px no -repeat; margin-højre: 3px; markør: pointer; }

.ratestar.stars.star.selected {

baggrund: #fff url (../ images/sprite.png) -23px -134px no -repeat; }

Trin 3: Konklusion

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

Anbefalede: