gpt4 book ai didi

javascript - 使 div 移动并在到达容器边缘时反弹

转载 作者:行者123 更新时间:2023-11-30 10:08:40 33 4
gpt4 key购买 nike

我正在尝试使 div 移动并在到达容器 div 的边缘后反弹 我正在使用此代码来执行此操作,但调试器显示的是错误 无法读取未定义的属性“offsetWidth”

var speed = 10,
direction = 1;

var ballElement = document.getElementsByClassName('ball'),
containerElement = document.getElementsByClassName('mainDiv');
if (ballElement) {
var boxLeftPos = ballElement.offsetLeft,
boxRightPos = boxLeftPos + ballElement.offsetWidth;

if (boxRightPos > document.containerElement.offsetWidth) {
direction = -1;
}

if (boxLeftPos < 0) {
direction = 1;
}

ballElement.style.left = (boxLeftPos + speed * direction) + 'px';
}

错误在这一行:

if (boxRightPos > document.containerElement.offsetWidth)

LIVE DEMO

最佳答案

getElementsByClassName 返回一个数组。如果您只有该类的一个元素,请添加 [0] 以检索它:getElementsByClassName('ball')[0]

if (boxRightPos > document.containerElement.offsetWidth) {

中删除 document.

工作演示:http://jsfiddle.net/7rw1t8eh/

关于javascript - 使 div 移动并在到达容器边缘时反弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27715501/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com