Ajuda a compreender script

4 respostas
Q

Olá

tenho um script que me foi dado há algum tempo e preciso de modifica-lo ligeiramente, mas é quase tudo chinês para mim!

Por exemplo, oq ue quer isto dizer exactamente, começando pelo "var dvs":onde está este dvs que não encontro em lado nenhum?

function init(){ 
  var dvs=document.getElementById('box1').getElementsByTagName('div')[0];
if(dvs.className.match('extras')) {
if(dvs.currentStyle) {
   bdrtw=parseFloat(dvs.currentStyle.borderTopWidth);
   bdrbw=parseFloat(dvs.currentStyle.borderBottomWidth);
   pdgtw=parseFloat(dvs.currentStyle.paddingTop);
   pdgbw=parseFloat(dvs.currentStyle.paddingBottom);
 }
else{
   compStyle=getComputedStyle(dvs,'');
   bdrtw=parseFloat(compStyle.getPropertyValue('border-top-width'));
   bdrbw=parseFloat(compStyle.getPropertyValue('border-bottom-width'));
   pdgtw=parseFloat(compStyle.getPropertyValue('padding-top'));
   pdgbw=parseFloat(compStyle.getPropertyValue('padding-bottom'));
  }
 }
   extras=bdrtw+bdrbw+pdgtw+pdgbw;

   spn=document.getElementById('box1').getElementsByTagName('span');

Obrigado

4 Respostas

Q

Parece-me agora que em

var dvs=document.getElementById('box1').getElementsByTagName('div')[0]; 03.if(dvs.className.match('extras')) { 04.if(dvs.currentStyle) {

a primeira linha introduz a variável dvs que não tinha sidoi introduzida antes. dvs então é document.getElementById, which in this case is the div #box1.

A segunda linha, nesse caso, diria basicamente que “if”, se #box1 é igual a ‘extras’ e se as borders e as margens, etc…

passamos então para

spn=document.getElementById('box1').getElementsByTagName('span');

Fico, mais ou menos na mesma…

Qualquer ajuda a explicar melhor/corrigir será benvinda

obrigado

juninhoall

qim:
Parece-me agora que em

var dvs=document.getElementById('box1').getElementsByTagName('div')[0]; 03.if(dvs.className.match('extras')) { 04.if(dvs.currentStyle) {

a primeira linha introduz a variável dvs que não tinha sidoi introduzida antes. dvs então é document.getElementById, which in this case is the div #box1.

A segunda linha, nesse caso, diria basicamente que “if”, se #box1 é igual a ‘extras’ e se as borders e as margens, etc…

passamos então para

spn=document.getElementById('box1').getElementsByTagName('span');

Fico, mais ou menos na mesma…

Qualquer ajuda a explicar melhor/corrigir será benvinda

obrigado


Passa a classe inteira, dica é debugar o código utilizar pontos de interrupções e ver oque cada linha está fazendo .

Q

Olá

Mas é exactamente disso que estou a pedir ajuda. Se me pode ajudar a decisgrar pelo menos as primeiras linhas.

var dvs=document.getElementById('box1').getElementsByTagName('div')[0]; 03.if(dvs.className.match('extras')) {

Eu não tenho experiencia de java.

juninhoall

qim:
Parece-me agora que em

var dvs=document.getElementById('box1').getElementsByTagName('div')[0]; 03.if(dvs.className.match('extras')) { 04.if(dvs.currentStyle) {

a primeira linha introduz a variável dvs que não tinha sidoi introduzida antes. dvs então é document.getElementById, which in this case is the div #box1.

A segunda linha, nesse caso, diria basicamente que “if”, se #box1 é igual a ‘extras’ e se as borders e as margens, etc…

passamos então para

spn=document.getElementById('box1').getElementsByTagName('span');

Fico, mais ou menos na mesma…

Qualquer ajuda a explicar melhor/corrigir será benvinda

obrigado

manda o algoritmo completo que debugo ele para você, e também as duvidas que você bem formuladas

Criado 13 de maio de 2014
Ultima resposta 14 de mai. de 2014
Respostas 4
Participantes 2