Wagner Andrade

Simplificando a WEB

Wagner Andrade header image 2

upper-box – componente para jQuery

julho 23rd, 2008 · 5 Comments · Javascript, Web

Para nós desenvolvedores existem scripts, códigos, métodos, estruturas que carregamos conosco ano após ano. Utilizamos essas “soluções empacotadas” em determinados momentos, muitas vezes salvando nossas horas de descanso.

A muito tempo atrás, em um sistema web que o foco era visualização de documentos, o cliente solicitou que o menu fosse retrátil. Ou seja, o menu superior da aplicação tinha que desaparecer se não estivesse sendo utilizado e aparecer quando o cursor do mouse se aproximasse dele. Para suprir isso criei uma função Javascript (utilizando CSS), e ficou bem bacana, simples e bastante útil. Esse script eu carrego comigo desde lá.

Precisei disso novamente alguns dias atrás, mas dessa vez fiz diferente. Tornei o script genérico de modo que posso utilizar mais facilmente em qualquer aplicação web que tenha jQuery, e ainda coloquei em um repositório no Github (repositório GIT).

Sei que ainda é bastante primitivo e não está nos padrões de plugin jQuery. Mas essa é uma das intenções de colocar em um repositório publico. Quem quiser usar e acoplar funcionalidades, otimizações e mesmo dar opiniões será muito bem vindo. Pra quem não quer nem tocar no repositório, segue o link pra download (versão mais recente). Veja um exemplo do seu funcionamento aqui.

Pra explicar “o que”, “como”, “onde” vou transcrever o README do repositório no Github abaixo.

upper-box

API javascript que transforma qualquer elemento de seu HTML (uma div, por exemplo) em uma caixa móvel posicionada na parte de cima da tela.
Para utilizá-lo é necessário estar com o jQuery adicionado ao documento.

O que acontece?

O elemento upper-box vai virar uma caixa “invisível” na parte de cima da tela.
Quando o usuário se aproxima com o mouse da parte superior da tela (body), o elemento ira rolar, abrindo e exibindo seu conteúdo.

Como usar?

Primeiro inclua os arquivos jQuery e upper-box no seu html, desta forma:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="upper-box.js"></script>

Seu uso é bem simples, basta adicionar “upper-box” ao class do elemento que vai virar upper-box.

Exemplo:

<div id='div1' class='divClass'>
 <h2>Olá,</h2>
 <p>Esta div não é um <b>upper-box</b>!</p>
</div>
<div id='div2' class='divClass upper-box'>
 <p>Esta div será um <b>upper-box</b>!</p>
 <p>Simples, não?!</p>
</div>

Quais navegadores?

O upper-box foi testado em Firefox, Safari e Internet Explorer 7.

Tags: ····

5 Comments so far ↓

  • RaphaelDDL

    Mto bom :D

    Só não consegui fazê-lo ficar como menu no footer da página mas que acompanharia o scroll.. Ele fica fixo :/

    Btw, No IE6 também funciona OK o upperbox :)

  • Wagner Andrade

    Olá Raphael,

    Quem sabe usando a propriedade css “position: fixed;”. Mas aí você também vai ter que ajustar o width, height e talvez o z-index.

    Bom saber que funciona na tranqueira do IE6, nem lembro se eu cheguei a testar nessa coisa.

    Obrigado pela colaboração, aguardamos as melhorias!

  • RaphaelDDL

    Yeah, ainda to testando :P
    No IE6 estranhamente quando damos scroll, ele continua no mesmo lugar porém se damos hover nele (para abrir o box) ele ’se joga’ no footer dinovo ahahah

    Bom, vamo lá que ainda consigo xD

  • RaphaelDDL

    Wagner,
    Tava testando vários códigos e vi que o Painel de Controle da Locaweb tem um menu ‘fixo’ que é controlado por um Js (ou seja, ele tem smooth scroll e fica numa determinada posição sempre, mesmo dando scroll). Eu achei a função apos ler +ou-9700 linhas de código cretino entupido de table o nomes de funções que não tem nada haver com oq faz :/

    Porém não consigo fazê-la funcionar. Se conseguíssemos fazê-la funcionar, seu upper-box poderia ser anywhere-box com scroll, até colocado no foot igual minha idéia principal, de montar um Dock de Mac (mas ñ restrito a isso)

    Me mande um e-mail para conversarmos melhor e eu te mandar o codigo? Eu não tenho muita prática em coding de JS mas sei o basiquinho para ler e entender, mas nada para criar do zero :(

    O e-mail acho que você consegue ver neh, já que não aparece para normal users.

    Att,
    Raphael

    Ps.: Desculpe enxer a paciência, empolguei com seu upper ;P

    upper+esse codigo q peguei+menu fisheye = site perfeito xD

  • Sidnei Santos

    Muito legal o menu retrátil, só que eu queria que a página também descesse junto. Tem como me dar uma força?

Leave a Comment