[code]
|
|
|
FINAL DAS FOTOS
Foto de
|
[code]
|
|
|
FINAL DAS FOTOS
Foto de
|
OBS: É um álbum de fotos, Preciso explicar o codigo em aula, por favor preciso da ajuda de vocês para q eu consiga entendeu um pouco o código.
Esse codigo eh mais feio que nem a Dilma sem maquiagem dando um kick flip McTwist. Mas vamos la:
Aqui eh facil, somente define um index para a primeira foto do album e define o total de imagens.
var foto=1
total=10 <!-- DIGITE AQUI O TOTAL DE FOTOS -->
Essa eh a funcao “back” (voltar), vou adicionar comments no codigo, eh mais facil.
function backward(){
// Testa se a foto atual nao eh a primeira.
if (foto>1){
// exibe mensagem na status bar do browser.
window.status='Carregando...'
// subtrai o indice da foto atual.
foto--
// troca a foto atual, pela foto anterior.
document.images.photoslider.alt="Carregando..."
document.images.photoslider.src=""
document.images.photoslider.src=foto+".jpg"
// muda a visibilidade do div, esse div exibe a mensagem "FINAL DAS FOTOS", como nao eh a ultima foto, esconde o div.
fim.style.visibility='hidden'
// limpa a mensagem da status bar.
window.status='';
// attribui o indice da foto atual nesse campo text.
document.rotater.numero.value=foto;
}
}
Essa a funcao forward (Avancar).
function forward(){
// Testa se ainda nao atingiu o final do album.
if (foto<total){
// muda a mensagem no status bar.
window.status='Carregando...'
// incrementa o indice, afinal vc esta avancando
foto++
// troca a foto.
document.images.photoslider.alt="Carregando..."
document.images.photoslider.src=""
document.images.photoslider.src=foto+".jpg"
// limpa a mensagem da status bar.
window.status=''
// atribui o indice da foto atual nessa campo text.
document.rotater.numero.value=foto;
}
// Testa, se o indice atual eh igual ao total de fotos, ou seja, ultima foto do album.
if (foto==total) {
// muda style e exibe o div com a mensagem "FINAL DAS FOTOS".
fim.style.width='100%'
fim.style.height='20px'
fim.style.visibility='visible'
// Muda mensagem na status bar.
window.status='Final das fotos'
}
}
Essa funcao “mudar” faz exatamente isso, muda a foto do album.
function mudar(valor) {
foto=valor
document.images.photoslider.alt="Carregando..."
document.images.photoslider.src=""
document.images.photoslider.src=valor+".jpg"
document.rotater.numero.value=foto;
}
Se vc reparar esse codigo esta presente nas outras duas funcoes “forward” e “backward”, entao ao invez de fazer:
// troca a foto.
document.images.photoslider.alt="Carregando..."
document.images.photoslider.src=""
document.images.photoslider.src=foto+".jpg"
Entao ao invez de ficar repetindo codigo, voce poderia simplesmente trocar por:
muda(foto);
E por fim, combo. A unica coisa que faz eh montar um combo com as fotos do seu album.
function combo(n) {
// Isso foi meio estupido, porque adicionar "n" na assinatura da funcao se n = total ???
// de qualquer forma, n vai se o total de fotos no album.
n=total
// indice da primeira foto.
ni=1
// Esse codigo esta muito estranho, mas eu acho que a intencao aqui eh a cada item selecionado, vai chamar a
// funcao muda, passando o indice da foto selecionada.
document.write("<select size='1' class='botaoFotos' onChange='location = options[selectedIndex].value'>")
while(ni<=n) {
document.write("<option value='Javascript:mudar("+ni+")'>"+ni+"</option>")
ni++
}
document.write("</select>")
}
Algumas dicas:
1) Tente nao definir variaveis globais!! Eh uma ma pratica e se vc tiver um codigo grande vai te dar muita dor de cabeca para detectar possiveis erros.
2) Coloquei nomes mais legiveis, nunca use “i”, “ni”, “n”. Coloque o nome completo, fica mais legivel e vai ajudar no entendimento do seu codigo por voce mesmo e
por outras pessoas.
3) Eh Javascript voce nunca faz, por exemplo:
if(dummyNumber == 1)
{
}
O correto seria:
if(dummyNumber == 1) {
}
Voce nao precisa mudar de linha para abri colchetes. Nao vai dar erro no seu programa por causa disso, mas eh uma questao de deixar o codigo mais bonito, claro, respeitando as convencoes da linguagem.
4) Sempre termine a linha com ponto e virgula! A falta dele podera causar varios bugs no seu codigo!
5) NUNCA! Adicione comentarios dessa maneira.
total=10 <!-- DIGITE AQUI O TOTAL DE FOTOS -->
Em Javascrip vc faz:
total=10 // DIGITE AQUI O TOTAL DE FOTOS
ou, se for varias linhas:
total=10 /* DIGITE AQUI O TOTAL DE FOTOS */
E se vc usar alguma framework como JQuery, Dojo, eles tem as suas proprias praticas. Sempre pesquise a melhor maneira e respeite as boas praticas.
Aqui tem um otimo blog post sobre o assunto: http://www.hongkiat.com/blog/source-code-comment-styling-tips/
//Daniel