javascript - 单击div时如何动态操作css以使div移动?

标签 javascript jquery css

我有一段代码可以在单击该 div 时移动一个“div”,但它不起作用。

$(".shape").click(function() {
    var bodyHight = document.body.clientHeight;
    var bodyWidth = document.body.clientWidth;
    var randomX = Math.floor((Math.random() * bodyWidth));
    var randomY = Math.floor((Math.random() * bodyHeight));
    $(".shape").css("left", randomX);
    $(".shape").css("top", randomY);
});

和一些CSS:

.shape{
    border-radius: 50px;
    width: 10px;
    height: 10px;
    background-color: white;
    position: absolute;
    left: 50%;
    top: 50%;
}

谁能帮帮我?

最佳答案

像这样改变:

$(document).ready(function(){
  $(".shape").click(function() {
    var bodyWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
    var bodyHight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
    var randomX = Math.floor((Math.random() * bodyWidth));
    var randomY = Math.floor((Math.random() * bodyHight));
    $(".shape").css({top: randomY, left:randomX});
});
});  
.shape{
    border-radius: 50px;
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
    top: 50%;
    left: 50%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="shape"></div>

关于javascript - 单击div时如何动态操作css以使div移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45124580/

相关文章:

javascript - ExternalInterface.call 不工作

javascript - 如何在 Bootstrap 中搜索三个字符后的预输入?

jquery - 如何让图像在 chrome、IE 和 safari 中调整大小

javascript - 单击时使用 Jquery 上下动画 div

javascript - 为jquery幻灯片动画添加不透明效果

html - 无法找到将哪个 css 样式应用于元素

javascript - Dojo 日历示例代码不起作用

javascript - 使用纯 Javascript 仅在移动设备上点击时显示列表内容,最初在桌面上显示

javascript - 如何在动态添加的元素上切换 Bootstrap 弹出窗口

javascript - 为什么当我在此 JavaScript 对象上使用反射时,我看不到其原型(prototype)对象中定义的属性?