2017-02-06 6 views
-1

私はdivの中にあるdivをマウスの方向に動かそうとしていますが、divを残してはいけません。そうです。それは他のdivの中で立ち往生する方法はありますか?ここでdivをマウスに追従させても、別のdivにアタッチしたままにする[アイエフェクト]

$(document).on('mousemove', function(e) { 
 
    $('#pupil').css({ 
 
    left: e.pageX, 
 
    top: e.pageY 
 
    }); 
 
});
#eye { 
 
    position: absolute; 
 
    height: 50px; 
 
    width: 68px; 
 
    border-radius: 100px; 
 
    top: 132px; 
 
    background-color: black; 
 
} 
 
#pupil { 
 
    position: absolute; 
 
    z-index: 3; 
 
    width: 25px; 
 
    height: 25px; 
 
    border-radius: 100px; 
 
    background-color: white; 
 
} 
 
#eye2 { 
 
    position: absolute; 
 
    height: 66px; 
 
    width: 78px; 
 
    border-radius: 100px; 
 
    top: 125px; 
 
    left: 200px; 
 
    background-color: black; 
 
} 
 
#pupil2 { 
 
    position: absolute; 
 
    z-index: 3; 
 
    width: 25px; 
 
    height: 25px; 
 
    border-radius: 100px; 
 
    background-color: white; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="eye"> 
 
    <div id="pupil"></div> 
 
</div> 
 
<div id="eye2"> 
 
    <div id="pupil2"></div> 
 
</div>

fiddle aswellです!

ありがとうございました!

+1

。数字(マウスの位置、目の中心、瞳孔の中心、最大距離)を多く取得し、接線や他のジオメトリを使用して数学を行う必要があります。私は矢印(生徒)を常に固定した位置にポインタを置くことを検討することをお勧めします。次に、その上に構築することができます。 – ntgCleaner

+0

だから、基本的に私は今よりももっと大きな知識が必要になるでしょう –

+0

答えてくれてありがとうございます@ntgCleaner私の質問を削除してくれると思います –

答えて

0

#pupilではposition: fixedを使用してください。 https://jsfiddle.net/8m74okbe/

#pupil{ 
    position:fixed; 
    z-index:3; 
    width:25px; 
    height:25px; 
    border-radius:100px; 
    background-color:green; 
} 
+0

しかし、それは黒のdivにとどまって、マウスがどこにいるかに向かって "見て"、マウスの後ろをたどらないとされています:) –

+1

申し訳ありませんが、疑問が誤解されました。私はそれに取り組むつもりです。 – TricksfortheWeb

+0

何もお寄せいただきありがとうございます –

1

使用この:これは私はあなたが考えていると思うよりも少し複雑です

<style> 
 
    #eye { 
 
    position: absolute; 
 
    height: 50px; 
 
    width: 68px; 
 
    border-radius: 100px; 
 
    top: 132px; 
 
    background-color: black; 
 
} 
 
#pupil { 
 
    position: absolute; 
 
    z-index: 3; 
 
    width: 25px; 
 
    height: 25px; 
 
    border-radius: 100px; 
 
    background-color: white; 
 
} 
 
#eye2 { 
 
    position: absolute; 
 
    height: 66px; 
 
    width: 78px; 
 
    border-radius: 100px; 
 
    top: 125px; 
 
    left: 200px; 
 
    background-color: black; 
 
} 
 
#pupil2 { 
 
    position: absolute; 
 
    z-index: 3; 
 
    width: 25px; 
 
    height: 25px; 
 
    border-radius: 100px; 
 
    background-color: white; 
 
} 
 
    </style> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="eye"> 
 
    <div id="pupil"></div> 
 
</div> 
 
<div id="eye2"> 
 
    <div id="pupil2"></div> 
 
</div> 
 

 

 

 
<script> 
 
    var windowWidth = $(window).width(); 
 
     var windowHeight = $(window).height(); 
 

 
     var eyeWidth = $('#eye').width(); 
 
     var eye2Width = $('#eye2').width(); 
 

 
     var eyeHeight = $('#eye').height(); 
 
     var eye2Height = $('#eye2').height(); 
 

 
     var pupil = $('#pupil'); 
 
     var pupil2 = $('#pupil2'); 
 
     $(document).mousemove(function (e) 
 
     { 
 
      pupil.css('left', e.pageX * eyeWidth/windowWidth).css('top', e.pageY * eyeHeight/windowHeight); 
 
     }); 
 

 
     $(document).mousemove(function (e) 
 
     { 
 
      pupil2.css('left', e.pageX * eye2Width/windowWidth).css('top', e.pageY * eye2Height/windowHeight); 
 
     }); 
 
    </script>

+0

これは、目を離れるのを止めますか? – ntgCleaner

+0

はい、あります。私のコードスニペット –

+0

を参照してくださいそれはactully、唯一の問題は、目の上にあるときには、私はホバリング時に動作していないときは、目の外にイム –

関連する問題