ホームページ > ウェブフロントエンド > jsチュートリアル > jsで左右クリック動作を実現する簡単な方法_javascriptスキル

jsで左右クリック動作を実現する簡単な方法_javascriptスキル

WBOY
リリース: 2016-05-16 16:05:04
オリジナル
1287 人が閲覧しました

この記事の例では、左クリックと右クリックの動きを JS で簡単に実装する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

ここでは、右をクリックするとボックスが右に移動し、左をクリックするとボックスが左に移動するという効果を実現できます

setInterval を使用すると、モーション効果を実現するために div をどれくらいの長さと距離で移動する必要があるかを認識できます。

ポイント 1: 要素の左の距離がターゲット距離より小さい場合、要素は正の方向に移動し、それ以外の場合は負の方向に移動します

if(run.offsetLeft <target){
speed = 2;
}else{
speed = -2;
}
ログイン後にコピー

ポイント 2: 要素の左距離がターゲット距離と等しい場合は、タイマーを停止します。それ以外の場合、要素の左距離は、現在の左距離に速度値を加えたものとなります。

if(run.offsetLeft ==target){
clearInterval(timer);
}
else{
run.style.left = run.offsetLeft +speed +"px";
}
ログイン後にコピー

コードをアップロードします

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>无标题文档</title>
<style>
body{margin:0; padding:0;}
#run{width:100px; height:100px; background:#06c;
position:absolute; border:1px solid #000;
left:0;}
</style>
<script>
window.onload = function(){
 var run = document.getElementById("run");
 var btn = document.getElementById("btn");
 var btn1 = document.getElementById("btn1");
 var speed = 2;
 var timer = null;
 btn.onclick = function(){
  startrun(300);
 }
 btn1.onclick = function(){
  startrun(0);
 }
 function startrun(target){
   clearInterval(timer);
  timer = setInterval(function(){
   if(run.offsetLeft <target){
    speed = 2;
   }else{
    speed = -2;
   }
   if(run.offsetLeft ==target){
    clearInterval(timer);
   }
   else{
    run.style.left = run.offsetLeft +speed +"px";
   }
  },30)
 }
}
</script>
</head>
<body>
<input id="btn" type="button" value="运动向右">
<input id="btn1" type="button" value="运动向左">
<div id="run"></div>
</body>
</html>
ログイン後にコピー

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート