Olá, nesse post tentarei demonstrar uma das opções de ferramenta para a seleção de cores dentro de uma pagina web.
Com o aumento das páginas com itens dinâmicos, que podem ser customizados pelos usuários, como fontes, bordas, textos, e, principalmente cores, Surge a necessidade de uma maneira do usuário selecionar a cor para uma determinada propriedade sem inserir ela diretamente em hexadecimal ou em rgb
O plugin que vamos utilizar do jQuery se chama ColorPicker, pode ser baixado em http://www.eyecon.ro/colorpicker/#download
Passo 1
Adicione os arquivos baixados ao projeto, os principais são:
- images
- colorpicker.js
- colorpiker.css
Lembrando que o jQuery é necessário
Passo 2
Chame os arquivos javascript e a folha de estilo no Header da página
- <asp:Content ID=”HeaderContent” runat=”server” ContentPlaceHolderID=”HeadContent”>
- <script src=”Scripts/jquery-1.3.2.js” type=”text/javascript”></script>
- <script src=”Scripts/colorpicker.js” type=”text/javascript”></script>
- <link href=”Styles/colorpicker.css” rel=”stylesheet” type=”text/css”></link>
- </asp:Content>
- <asp:Content ID=”HeaderContent” runat=”server” ContentPlaceHolderID=”HeadContent”>
- <script src=”Scripts/jquery-1.3.2.js” type=”text/javascript”></script>
- <script src=”Scripts/colorpicker.js” type=”text/javascript”></script>
- <link href=”Styles/colorpicker.css” rel=”stylesheet” type=”text/css”></link>
- </asp:Content>
Passo 3
Insira um TextBox que utilizará como objeto para retornar a cor selecionada pelo Color Picker
- Selecione a cor:
- <asp:TextBox ID=”txtCor” runat=”server”></asp:TextBox>
Passo 4
Agora precisaremos inicializar o Color Picker selecionado o TextBox via jQuery e passando alguns atributos
- <script type=”text/javascript”>
- $(‘#MainContent_txtCor’).ColorPicker({
- onSubmit: function(hsb, hex, rgb, el) {
- $(el).val(hex);
- $(el).ColorPickerHide();
- },
- onBeforeShow: function() {
- $(this).ColorPickerSetColor(this.value);
- }
- });
- </script>
Nesse código nós estamos definindo dois eventos:
- onBeforeShow, antes de exibir o componente ele pega a cor que está escrita no TextBox e seta no controle
- onSubmit, atribui a cor selecionada ao TextBox
E precisamos considerar qual será o ClientID do controle ASP.NET (MainContent_txtCor)
Passo5
Agora podemos trabalhar como quisermos em ambos os lados, Client e Server. Como exemplo vou manipular o valor no Server.
- <p>
- A cor selecionada foi:
- <asp:Label ID=”lblCor” runat=”server”> </asp:Label>
- </p>
- <asp:Button ID=”btnSalvar” runat=”server” Text=”Salvar” OnClick=”btnSalvar_Click” />
- protected void btnSalvar_Click(object sender, EventArgs e)
- {
- lblCor.Text = txtCor.Text;
- lblCor.ForeColor = ColorTranslator.FromHtml(“#” + txtCor.Text);
- }
Como exemplo desses passos teremos:
Obrigado,
Rodolfo



