Isi kandungan:

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

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

Video: Criando Estrelas Para Votação Com JQuery Sem Uso De Plugins: 3 Langkah
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

Plugin Algun, harga chamados, 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 pos, e muitos outros detalhes. Precisamos pensar que plugins são ferramentas para Facitar, eo uso destes são realmente requários, porem também precisamos ter em mente que alguns plugins requitam funcionar em vários cenários, o que faz com que o plugin seja uma coisa genérica, συνέχεια, e indicentemente (novamente), sejam grande.

Oleh conta disso, resolvi mostrar uma solução muito simples, que pode ser facilitymente 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

Langkah 1: Criando O Javascript (JQuery)

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

Não à motivos conventes 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 container $ ('. Quest.content [data-element]'). Masing-masing (fungsi (indeks, item) {// Recupera o seletor melakukan input relacionado e os elementos var selector = $ (item).data ('element'), stars_element = $ (''), select = $ (selector), options = select.find ('option'), select = select.find ('option: select'); // Percorre seperti yang dilakukan pilih 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 ('klik', function () {// Recupera o valor clicado var val = $ (this).data ('value'); // Keluarkan seleção atual pilih e adiciona o da estrela clicada select.find ('option'). attr ('select', false); select.find ('option [value = "' + val + '"]'). attr ('select', true); // Alih keluar sebagai class de seleção da estrela $ (stars_element). cari ('. bintang'). removeClass ('terpilih'); var index = $ (ini).index (), elemen = $ (bintang_elemen). cari ('. bintang'); // Adiciona a seleção à estrela koresponden e sebagai ante riores à ela untuk (i = 0; i <= indeks; i ++) {$ (stars_element). cari ('. bintang: nth-child (' + (i + 1) + ')'). addClass ('terpilih'); }}); }); // Adiciona o elemento novo e remove o antigo (pilih) select.after (stars_element); pilih. sembunyikan (); });

Langkah 2: Trabalhando Com O CSS

Trabalhando Com O CSS
Trabalhando Com O CSS

Com tudo criado, o CSS adalah kemudahan mais. Podemos utilizar o que untuk mais easye. Estrelas, quadrados, barras. Poremos usar tambem sprites ou membayangkan isoladas. Podemos utilizar estilos sem imagens, enfim, vai da requidade de cada um. Wahai penting podemos modificar sesuai dengan precisamos.

.ratestar.stars.star {display: inline-block; lebar: 15px; tinggi: 15px; latar belakang: #fff url (../ images / sprite.png) -2px -134px no-repeat; margin-right: 3px; kursor: penunjuk; }

.ratestar.stars.star.seleksi {

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

Langkah 3: Kesimpulannya

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

Disyorkan: