【问题标题】:How to change the location of an element after clicking on it on JSJS点击元素后改变位置的方法
【发布时间】:2022-11-23 20:33:08
【问题描述】:

我做了一个圆圈,在页面刷新后移动到屏幕上的随机点。但问题是我需要它在不刷新页面且仅在单击圆圈后才能工作。圆圈离开屏幕也有问题。即圆圈有时会出现在屏幕外

我写了以下代码:

let elem = document.querySelector('button');
let randX = Math.random();
let randY = Math.random();
let randXMult = randX * 100;
let randXP = randXMult + "%";
let randYMult = randY * 100;
let randYP = randYMult + "%";

elem.style.left = randYP;
elem.style.top = randXP;
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  border: none;
  box-sizing: border-box;
}

body main html {
  width: 100%;
  height: 100%;
  position: relative;
}

button {
  width: 200px;
  height: 200px;
  border-radius: 100%;
  background: rgb(167, 163, 163);
  position: absolute;
}
<main>
  <button></button>
</main>

【问题讨论】:

  • 我做了一个 sn-p 并将您的选择器从“.button”更改为“button”
  • 查看如何注册点击事件处理程序...

标签: javascript html css


【解决方案1】:

试试下面的代码,

  1. 点击圈
  2. 没有页面刷新
  3. 垂直页面边界

     document.querySelector('button').onclick = function() {
      test();
    };
     function test()
     { 
      let elem = document.querySelector('button');
      let randX = Math.random();
      let randY = Math.random();
      let randXMult = randX * 100;
      
      let randXP = randXMult + "%";
      console.log(randXMult / 70 >1);
      if(randXMult / 70 >1)
      {
        randXMult = 1;
        randXP = randXMult + "%";
      }
      let randYMult = randY * 100;
      console.log(randYMult);
      let randYP = randYMult + "%";
      
      elem.style.left = randYP;
      elem.style.top = randXP;
     }
    *,
    *::before,
    *::after {
      margin: 0;
      padding: 0;
      border: none;
      box-sizing: border-box;
    }
    
    
    body main html {
      width: 100%;
      height: 100%;
      position: relative;
    }
    
    button {
      width: 200px;
      height: 200px;
      border-radius: 100%;
      background: rgb(167, 163, 163);
      position: absolute;
    }
    <main>
      <button></button>
    </main>

【讨论】:

  • 这不是 OP 要求的...
  • onclick,垂直页面边界需要正确,完成
猜你喜欢
  • 1970-01-01
  • 2021-07-18
  • 1970-01-01
  • 1970-01-01
  • 2019-05-15
  • 2018-10-22
  • 2015-03-12
  • 2017-02-18
  • 1970-01-01
相关资源
最近更新 更多