Objetivo do Web Scriptum

Criei este blog como repositório de scripts e códigos que criei ao longo de anos de trabalho e que continuo criando. Muitos me ajudaram, esta é minha hora de ajudar.

Accordion com links, caixa de texto e iframe

Se você estava procurando um script de accordion vulgarmente chamado de sanfona, mas não tem ideia de qual tipo precisa, se para exibir links, textos ou mesmo embutir iframes, minha sugestão abaixo contempla os 3 tipos de uso. Basta que escolha o que deseja, exclui os outros e customiza.



SEÇÃO 1 - links

TITULO - caixas de texto

SEÇÃO - página em iframe


PASSO 1
Copie e cole estes dois blocos (CSS e JAVASCRIPT) antes de </ head >

<style>
body {
color:#000000;
text-align:left;
padding: 5px;
}
.title {
font-size: 16px;
cursor: pointer;
border: 1px solid #01CCFF; border-image: none; color: #ff0000; padding: 7px;
}
a {
font-size: 14px;
padding: 10px;
display:block;
color:#054A72;
text-decoration:none;
}
a:hover {
color:#ffffff;
background: #054A72;
text-decoration:none;
}
</style>

<script>
document.onclick = Gry_Click;

function Gry_Click(GRY) {
    GRY = (GRY) ? GRY : ((window.event) ? event : null ) ;
    var target = (GRY.target) ? GRY.target : ((GRY.srcElement) ? GRY.srcElement : null ) ;
    GRYClick(target) ;
    GRY.cancelBubble ;
}

function GRYClick(target) {
    if (target.id) {
        ObjectID = target.id ;
        ObjectType = ObjectID.substring(0,5) ;
        ObjectNyyum = ObjectID.substring(2) ;
        switch(ObjectType) {
        case 'TITLE' :
            ItemId = getTpcId(target) ;
            Gryid(ItemId) ;
            return ;
            break ;
        case 'LK' :
            ItemId = getTpcId(target) ;
            setMark(ItemId) ;
            return ;
        default:
            break ;
        }
    }
}

function Gry_GRYenuValue(target,styleProp, IEStyleProp) {
    if (target.currentStyle) return target.currentStyle[ IEStyleProp ] ;
    else if (window.getComputedStyle) {
        compStyle = window.getComputedStyle(target,'') ;
        return compStyle.getPropertyValue(styleProp) ;
    }
}

function getTpcId(obj) {
    if (obj.id && obj.id.substring(0,5)=='IITEM' ) {
        return obj.id.substring(6,38) ;
    }
    if (!obj.parentNode) return null;
    return getTpcId(obj.parentNode) ;
}
function Gryid(id) {
    var item = document.getElementById('IITEM-'+id) ;
    var i ;
    for (i=0; i<item.childNodes.length; i++)
    if (item.childNodes[i].id && item.childNodes[i].id.substring(0,5)=='ICONT') {
        content = item.childNodes[i] ;
        break ;
    }
    status =  Gry_GRYenuValue(content,'display','display')  ;
    if (status!='block') {
        content.style['display'] = 'block' ;
        item.style['background'] = Gry_GRYenuValue(document.getElementById('c2'),'color','color') ;
    } else {
        content.style['display'] = 'none' ;
        item.style['background'] = Gry_GRYenuValue(document.getElementById('c1'),'color','color') ;
    }
}

function toggGry(GyName) {
    object = document.getElementById(GyName) ;
    if (object.disabled==true) object.disabled=false ;
    else object.disabled=true;
}
</script>


PASSO 2
Copie e cole este bloco de código abaixo depois de < body >

<div id="main" style="text-align: center">
    <div class="item" id="IITEM-1"><span class="sect"></span><div id="section">
<span class="title" id="TITLE1">SEÇÃO 1 - links</span></div><div style="display: none;" class="open" id="ICONT1"><br>
                <a href="#"><b>Página 1</b></a>
                <a href="#"><b>Página 2</b></a></div><p></p>

     <div class="item" id="IITEM-2"><span class="sect"></span><div id="section">
<span class="title" id="TITLE2">TITULO - caixas de texto</span></div><div style="display: none; width:60%;" class="open" id="ICONT2">
        <p>Lorem ipsum<br>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p></div><p></p>

<div class="item"><div class="item" id="IITEM-3"><span class="sect"></span><div id="section">
<span class="title" id="TITLE3">SEÇÃO - página em iframe</span></div><div style="display: none;" class="open" id="ICONT3"><br>
            <iframe id="main" src="http://nicknipigon.blogspot.com.br/" scrolling="no" frameborder="0"  frameborder="0"  frameborder="0" style="height:200; width:100%"></iframe></div>


DICA:Observe cada IITEM é ele que você escolherá para ficar na sua página. Para ter dois ou mais da opção escolhida basta copia o bloco colar abaixo e renomear IITEM- e ICONT

Link além da palavra

Se você precisa de links em CSS marcados em todo o comprimento onde está o titulo dele e não só cobrindo a palavra a solução está abaixo.




PASSO 1
Copie e cole o código abaixo antes de </ head>

<style>
body {
FONT-FAMILY: Helvetica, Arial, sans-serif;
color:#000000;
text-align:left;
}
.link {
font-size: 21px;
cursor: pointer;
}

a {
display:block;
color:#054A72;
text-decoration:none;
}
a:hover {
color:#ffffff;
background: #054A72;
text-decoration:none;
}
</style>


PASSO 2
Copie e cole o código abaixo dentro da página </ body >

<div align="center"><a href="#">LINK 1</a></div><br>
<div align="center"><a href="#">LINK 2</a></div><br>
<div align="center"><a href="#">LINK 3</a></div>


DICA: Se quiser que o link CSS ocupe apenas a extensão da palavra retire do código display:block;

Menu de opções com botão

Para quem precisa de um menu de opção para seções ou lista de sites este javascript que fiz a  mais de dez anos ainda é uma boa solução. Montei ele dentro de divs numa peça só, então basta customizar.


PASSO ÚNICO
Copie e cole o script abaixo na sua página, depois customize.

<div align="center">
<form name="GryMenu2">
<script language="JavaScript">

function relocate (form) {

 if (form.Redirect.selectedIndex == 1)
 parent.location="http://www.apaginaaqui.com.br"

 if (form.Redirect.selectedIndex == 2)
 parent.location="http://www.apaginaaqui.com"

 if (form.Redirect.selectedIndex == 3)
 parent.location="http://www.apaginaaqui.com.br"

 if (form.Redirect.selectedIndex == 4)
 parent.location="http://www.apaginaaqui.com.br"

 if (form.Redirect.selectedIndex == 5)
 parent.location="http://www.apaginaaqui.com.br"

 if (form.Redirect.selectedIndex == 6)
 parent.location="http://www.apaginaaqui.com.br"

 if (form.Redirect.selectedIndex == 7)
 parent.location="http://www.apaginaaqui.com.br"

 if (form.Redirect.selectedIndex == 8)
 parent.location="http://www.apaginaaqui.com.br"

 if (form.Redirect.selectedIndex == 9)
 parent.location="http://www.apaginaaqui.com.br"

 if (form.Redirect.selectedIndex == 10)
 parent.location="http://www.apaginaaqui.com.br"

}

// <FORM NAME="GryMenu2">
// <SELECT NAME="Redirect">
// <OPTION VALUE="1">Option
// <OPTION VALUE="2">Option
// <OPTION VALUE="3">Option
// <OPTION VALUE="4">Option
// <OPTION VALUE="5">Option
// <OPTION VALUE="6">Option
// <OPTION VALUE="7">Option
// <OPTION VALUE="8">Option
// <OPTION VALUE="9">Option
// <OPTION VALUE="10">Option
// </SELECT>

// <INPUT TYPE="button" NAME="button" VALUE="Go" ONCLICK="relocate(this.form)">
// </FORM>
</script>
<select name="Redirect" size="1">
<option>Ponha o titulo aqui</option>
<option value="1">titulo aqui</option>
<option value="2">titulo aqui</option>
<option value="3">titulo aqui</option>
<option value="4">titulo aqui</option>
<option value="5">titulo aqui</option>
<option value="6">titulo aqui</option>
<option value="7">titulo aqui</option>
<option value="8">titulo aqui</option>
<option value="9">titulo aqui</option>
<option value="10">titulo aqui</option>
</select>
<input type="button" name="button" value="&gt;&gt;VÁ&gt;" onclick="relocate(this.form)">
</div>
</form>
</center></div>


Formulário de contato, sugestões ou comentários em PHP

Se você precisa de um formulário de contato, sugestões ou comentários, aqui está minha sugestão em PHP.

Assunto
Email
Seção
Descrição
2 linhas

PASSO 1
Cole o form abaixo em uma página.

<table border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse"/>
 <tr>
 <td width="10">&nbsp;</td>
 <td align="center" valign="top"><form action="formulario.php" method="post">
<div align="center"><center><table border="0" cellpadding="2" cellspacing="1" bgcolor="#038B5B">
 <tr>
 <td align="center" colspan="5" bgcolor="#038B5B">&nbsp;</td>
 </tr>
 <tr>
 <td align="right"><font
 color="#FFFFFF"><strong>Assunto</strong></font></td>
 <td colspan="4"><input type="text"
 size="40" name="name"></td>
 </tr>
 <tr>
 <td align="right"><font
 color="#FFFFFF"><strong>Email</strong></font></td>
 <td colspan="4"><input type="text"
 size="50" name="email"></td>
 </tr>
 <tr>
 <td align="right"><font
 color="#FFFFFF"><strong>Seção</strong></font></td>
 <td colspan="4"><select
 name="Sections" size="1">
 <option>ARTES</option>
 <option>COMPRAS</option>
 <option>CULTURA</option>
 <option>ESPORTES</option>
 <option>JOGOS</option>
 <option>PESSOAL</option>
 </select></td>
 </tr>
 <tr>
 <td align="right"><font
 color="#FFFFFF"><strong>Descrição</strong></font><p><font
 color="#FFFFFF">2 linhas</font></p>
 </td>
 <td colspan="4"><textarea
 name="question" rows="2" cols="49"></textarea></td>
 </tr>
 <tr>
 <td align="right" colspan="5">
<input type="submit" name="submit" value="Enviar Sugestão"></td>
 </tr>
 </table>
 </center>
 </div>
 </form>


PASSO 2
Copie abaixo o código PHP, cole no bloco de notas e salve como formulario.php

<?php
while (list($key,$val) = each($HTTP_POST_VARS)) {
$body .= "$key:  $val\n\n";
}
mail("email@provedor.com","Comentários ou Formulário de Contato",$body);
?>


IMPORTANTE
Se for customizar a página de resposta coloque o passo 2 na página de resposta abaixo de </ html > e salve o html como php.

Toggle ou botão de opção mobile app

Você estava procurando um  toggle ou botão de opção no estilo app mobile? Então aproveite o que fiz e customize a vontade. Importante: Ele parece zoado porque está dentro do layout do blog, ao montar numa página limpa você verá ele assim:



PASSO 1
Copie e cole este código CSS antes de </ head >

<style type="text/css">
.toggry {
    position: relative; width: 140px;
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
}
.toggry-checkbox {
    display: none;
}
.toggry-label {
    display: block; overflow: hidden; cursor: pointer;
    border: 2px solid #CCCCCC; border-radius: 10px;
}
.toggry-inner {
    display: block; width: 200%; margin-left: -100%;
    -moz-transition: margin 0.3s ease-in 0s; -webkit-transition: margin 0.3s ease-in 0s;
    -o-transition: margin 0.3s ease-in 0s; transition: margin 0.3s ease-in 0s;
}
.toggry-inner:before, .toggry-inner:after {
    display: block; float: left; width: 50%; height: 32px; padding: 0; line-height: 32px;
    font-size: 15px; color: white;
    -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
.toggry-inner:before {
    content: "MASCULINO";
    padding-left: 10px;
    background-color: #73C0C0; color: #FFFFFF;
}
.toggry-inner:after {
    content: "FEMININO";
    padding-right: 10px;
    background-color: #73C0C0; color: #FFFFFF;
    text-align: right;
}
.toggry-switch {
    display: block; width: 18px; margin: 6px;
    background: #FFFFFF;
    border: 2px solid #CCCCCC; border-radius: 5px;
    position: absolute; top: 0; bottom: 0; right: 106px;
    -moz-transition: all 0.3s ease-in 0s; -webkit-transition: all 0.3s ease-in 0s;
    -o-transition: all 0.3s ease-in 0s; transition: all 0.3s ease-in 0s;
}
.toggry-checkbox:checked + .toggry-label .toggry-inner {
    margin-left: 0;
}
.toggry-checkbox:checked + .toggry-label .toggry-switch {
    right: 0px;
}
</style>


PASSO 2
Copie e cole esta porção de código dentro da página.

<div class="toggry" style="text-align: left; display: inline-block;">
    <input type="checkbox" name="toggry" class="toggry-checkbox" id="mytoggryA" checked>
    <label class="toggry-label" for="mytoggryA">
    <span class="toggry-inner"></span>
    <span class="toggry-switch"></span>
    </label>
    </div>


DICA: Customizar assuntos .toggry-inner:before {  e .toggry-inner:after - para tamanho .toggry { - para alinhamento do botão de movimento  toggry-switch { - para aumentar a curva dos cantos do botão border-radius

Formulário de aviso em PHP

Se você precisa de um meio de ser avisado de falhas em seu site o mesmo avisado de qualquer outra coisa, fiz este formulário em PHP, eu montei numa tabela, mas você customize como desejar. Siga os Passos abaixo:



PASSO 1
Cole o form abaixo em uma página.

<table border="0" cellspacing="1">
<form action="falha.php" method="post">
<tr>
 <td height="3"></td>
 <td align="center" colspan="2" height="3"></td>
 <td height="3"></td>
 </tr>
 <tr>
 <td></td>
 <td align="right"><select
 name="Site" size="1">
     <option>Qual a seção do site que tem falha?</option>
     <option>Seçao Noticias</option>
     <option>Comentários</option>
     <option>Seção Novidades</option>
     <option>Outra Seção</option>
     <option>Outra Seção 1</option>
 </select></td>
 <td>
 <input type="submit" name="submit" value="Avisar Agora"></td>
 <td>&nbsp;</td>
 </tr>
 <tr>
 <td>&nbsp;</td>
 </tr>
 </table>
</form>


PASSO 2
Copie abaixo o código PHP, cole no bloco de notas e salve como falha.php

<?php
while (list($key,$val) = each($HTTP_POST_VARS)) {
$body .= "$key:  $val\n\n";
}
mail("email@provedor.com","Site com erro",$body);
?>


IMPORTANTE
Se for customizar a página de resposta coloque o passo 2 na página de resposta abaixo de </ html > e salve o html como php.

Alinhar 2 ou mais DIVS

Você precisa alinhar 2 ou mais divs em linha? Basta copiar e customizar o código de minha sugestão. Note que você pode distribuir tanto conteúdo como mesmo criar um layout de página com 2 ou 3 divs usando o código que postei, bastando atribuir valores maiores para as divs e distribuindo o conteúdo nas colunas.


DIV 1
DIV 2
DIV 3

PASSO 1
Copie e cole este código antes de </ head >

<style type="text/css">
#dives {
 width: 100%;
}
#div_1 {
 width: 10%;
 height: 50%;
 background-color: #333;
 float: left;
 text-align: left;
 color: #FFF;
}
#div_2 {
 width: 10%;
 height: 50%;
 background-color: #666;
 float: left;
 text-align: center;
 color: #FFF;
}
#div_3 {
 width: 10%;
 height: 50%;
 background-color: #999;
 float: left;
 text-align: right;
 color: #FFF;
}
#clear {
 clear:both; 
}
</style>


PASSO 2
Copie e cole o código abaixo depois de < body >

<div id="dives">
<div id="div_1">DIV 1</div>
<div id="div_2">DIV 2</div>
<div id="div_3">DIV 3</div>
</div>
<div class="clear">
</div>


DICA: Você pode substituir os valores percentuais por valores em pixels.

Botões em CSS puro

Criei o exemplo abaixo com os 3 tipos de formato de botão mais usados e montei num style único, mas nomeei de forma a você poder facilmente reeditar e customizar. Nele coloquei os elementos mais procurados por web designers e programadores: link sem sublinhado, cursor sobre o botão, efeito hover, efeito push e link em botão css puro.

BOTÃO RETO BOTÃO CURVO BOTÃO REDONDO

<style>
.button.curvo {
    display: inline-block;
    position:relative;
    height:40px;
    width:150px;
    text-align:center;
    border-radius:5px;
    box-shadow:inset 0 -2px 0 0 #ccc;
    text-decoration:none;
    border: none;
    outline: none;
}
.button.reto {
    display: inline-block;
    position:relative;
    height:40px;
    width:150px;
    text-align:left;
    border-radius:0px;
    box-shadow:inset 0 -2px 0 0 #ccc;
    text-decoration:none;
    border: none;
    outline: none;
}
.button.redondo {
    display: inline-block;
    position:relative;
    height:40px;
    text-align:right;
    width:150px;
    border-radius:60px;
    box-shadow:inset 0 -2px 0 0 #ccc;
    text-decoration:none;
    border: none;
    outline: none;
}
.reto {
    background-color: #999;
}
.curvo {
    background-color: #000;
}
.redondo {
    background-color: #ff0000;
}
.button-text {
    font-family:"Helvetica", Arial;
    opacity:1.0;
    font-size:15px;
    font-weight:400;
    text-decoration:none;
    border:none;
    color:#fff;
    padding-left: 7px;
    padding-right: 7px;
    line-height:35px;
}
.button:hover {
    opacity: 0.7;
    border: none;
    outline: none;
}
.button:active {
    opacity: 1.0;
    height:32px;
    top: 2px;
    margin-bottom: 14px;
    border: none;
    outline: none;
    box-shadow: none;
}
</style>

<a href="#" target="" class="button reto"><span class="button-text">BOTÃO RETO</span></a>

<a href="#" target="" class="button curvo"><span class="button-text">BOTÃO CURVO</span></a>

<a href="#" target="" class="button redondo"><span class="button-text">BOTÃO REDONDO</span></a>


DICA
Você pode customizar cada botão, alterando os parâmetros de cada um bastando observar o bloco de código referente ao nome, exemplo: reto, curvo ou redondo. Para alterar  volume de curva nos cantos do botão basta mudar o valor do item border-radius: para mais ou para menos. Você pode usar de outras formas inclusive adicionando ou retirando botões.

Botões de opção com estilo

Botões de opção que você pode adicionar em forms. Customize a vontade.




PASSO 1
Copie e cole antes de </ head >
<style>
.toggry label {
  display: inline-block;
  border: 1px solid #ccc;
  padding: 5px 5px;
  margin: 0;
  font-weight: normal;
  cursor:pointer;
}
.toggry input:checked,
.toggry input:not(:checked) {
  display: none;
}
.toggry input:checked + .botao_1  {
  background: #66B9B9;
}
.toggry input:checked + .botao_2  {
  background: #ffff00;
}
.toggry input:checked + .botao_3 {
  background: #ff0000;
}
</style>

PASSO 2
Copie e cole dentro da página.


<div class="toggry" style="width: 300px; display: inline-block;">

    <input id="botao_1" name="option" value="botao_1" type="radio">
    <label class="botao_1" for="botao_1">SIM</label>
    <input checked="checked" id="botao_2" name="option" value="botao_2" type="radio">
    <label class="botao_2" for="botao_2">TALVEZ</label>
    <input id="botao_3" name="option" value="botao_3" type="radio">
    <label class="botao_3" for="botao_3">NÃO</label>    
</div>

DICA
Você pode usar de outras formas inclusive adicionando ou retirando botões.

Link sem sublinhado

Você quer que o link não fique sublinhado? Basta copiar e colar a solução simples abaixo dentro do style de sua página.

text-decoration:none;