web使用使用Javascript编写一段代码,使用 jQuery 库(无 DOM),执行以下操作:加载页面时,您需要创建指定数量的矩形(div具有 class 的元素)并将它们放置在具有 id 的"rectangle"元素中 。矩形应随机放置在父块中,但不能超出其边界(块可以相互重叠)。div"rectanglearea" 在颜色输入栏中,只能输入十六进制格式的颜色值,例如3366FF, AC4394, , (颜色输入栏中的fc0 事件)。还提供使用和keydown键删除错误输入的字符的功能。在指定字段中输入字符时,需要检查它们是否对应于十六进制数字。将光标移动到容器块上时,显示光标坐标 (x,y)(为此,向页面添加一个特殊块)。当光标击中其中一个矩形时,标签的颜色应变为当前矩形的背景色,当光标离开矩形区域后,标签的颜色应变为黑色。 如果光标在容器块之外,则不应显示带有坐标的标签。 以下为HTML代码:<body> <div id="rectanglearea"></div> <div> <button id="color">Цвет</button> <input id="colortouse" type="text" size="6" maxlength="6" /> </div> </body>
时间: 2024-02-15 14:01:50 浏览: 56
jQuery v1.5.1 脚本框架库
以下是使用 jQuery 编写的代码,实现上述要求:
```javascript
$(document).ready(function() {
// 创建矩形元素并添加到父块中
var numRectangles = 10; // 指定数量的矩形
var parentBlock = $('#rectanglearea');
for (var i = 0; i < numRectangles; i++) {
var rectangle = $('<div></div>').addClass('rectangle');
parentBlock.append(rectangle);
}
// 随机放置矩形
var parentWidth = parentBlock.width();
var parentHeight = parentBlock.height();
$('.rectangle').each(function() {
var rectangleWidth = $(this).width();
var rectangleHeight = $(this).height();
$(this).css({
'left': Math.floor(Math.random() * (parentWidth - rectangleWidth)),
'top': Math.floor(Math.random() * (parentHeight - rectangleHeight))
});
});
// 监听颜色输入栏的变化
$('#colortouse').on('input', function() {
var color = $(this).val();
if (color.match(/^([0-9A-Fa-f]{6})$/)) {
parentBlock.css('background-color', '#' + color);
} else {
$(this).val('');
}
});
// 监听键盘事件,删除无效的颜色输入
$('#colortouse').on('keydown', function(e) {
if (!e.key.match(/[0-9A-Fa-f]/)) {
e.preventDefault();
}
});
// 添加光标坐标标签
var cursorLabel = $('<div></div>').addClass('cursor-label').hide();
parentBlock.append(cursorLabel);
// 监听鼠标移动事件,更新光标坐标标签的位置
parentBlock.on('mousemove', function(e) {
var x = e.pageX - $(this).offset().left;
var y = e.pageY - $(this).offset().top;
if (x >= 0 && x <= parentWidth && y >= 0 && y <= parentHeight) {
cursorLabel.text('(' + x + ',' + y + ')').show().css({
'left': e.pageX + 10,
'top': e.pageY + 10
});
} else {
cursorLabel.hide();
}
});
// 监听矩形的鼠标事件,改变光标坐标标签的颜色
$('.rectangle').on('mouseenter', function() {
cursorLabel.css('color', $(this).css('background-color'));
}).on('mouseleave', function() {
cursorLabel.css('color', 'black');
});
});
```
需要注意的是,上述代码中的 CSS 样式未提供,需要自行添加。
阅读全文