2017-02-07 21 views
0

私のHTML IDの段落タグは移動していますが、ページの読み込み中にpタグを低速に落とすようにしようとしています。javascript、offsetTop、offsetBottom

JS:しかし、私のコードは

var speed = 12; 
var direction = 1; 
var getParagraph = document.getElementById("move"); 
getParagraph.onmouseover = moving; 

function moving() { 
    var bo = getParagraph.offsetHeight; 
    var boTop = getParagraph.offsetTop; 
    var boBottom = boTop + bo; 

    // When right side of the box goes too far - change direction: 
    if (boBottom > document.body.offsetHeight) { 
     direction = -1; 
    } 

    // When left side of the box goes too far - change direction: 
    if (boTop < 0) { 
     direction = 1; 
    } 

    // Recalculate position: 
    getParagraph.style.Top = (boTop + speed * direction) 
} 
+0

JSは大文字と小文字を区別するので、 'getParagraph.style.Top'を試しましたか? – Justinas

+0

まず、あなたのタグは次のように設定されています: '#move {display:block;位置:絶対; } 'あなたのCSSで? 'getParagraph.style.marginTop =(boTop + speed * direction)+" px ";'それは私のために働くように...よく 'document.getElementById(" move ")。 'getParagraph.' –

答えて

0

これはマイナーな変更とあなたのコードであり、それ "作品" .......動作していない

VARスピード= 12;

var direction = 1; 

    var getParagraph = document.getElementById("move"); 

    document.getElementById("move").addEventListener("mouseover", moving); 
    //getParagraph.onmouseover = moving; 

    function moving() { 

     console.log("Moving??"); 
     var bo = document.getElementById("move").offsetHeight; 

     var boTop = document.getElementById("move").offsetTop; 

     var boBottom = boTop + bo; 

     // When right side of the box goes too far - change direction: 

     if (boBottom > document.body.offsetHeight) { 
      direction = -1; 
     } 
     // When left side of the box goes too far - change direction: 

     if (boTop < 0) { 

      direction = 1; 
     } 
     // Recalculate position: 
     document.getElementById("move").style.marginTop = (boTop + speed * direction) + "px"; 
     speed++; 
    } 

CSS:

#move { 
      display : block ; 
      position : absolute ; 
     } 

はそれがお役に立てば幸いです。

関連する問題