javascript jquery 该区域可以有一个活动矩形(另外用边框颜色突出显示(在js文件中编写),您可以在样式表中设置一个额外的类,例如, )。 当鼠标光标在一个矩形上按下时,该块变为活动状态(它被分配给给定的类),而先前的活动矩形(如果有)变为非活动状态(该类被“删除”)。选择 如果用户单击共享区域,活动属性将从活动矩形中重置。不使用css编写代码

时间: 2024-02-19 07:57:28 浏览: 13
以下是使用 jQuery 实现的代码: ```javascript $(document).ready(function() { var activeRect = null; $('rect').on('mousedown', function() { if (activeRect) { activeRect.removeClass('active'); } activeRect = $(this); activeRect.addClass('active'); activeRect.css('border-color', 'red'); }); $('svg').on('click', function() { if (activeRect) { activeRect.removeClass('active'); activeRect.css('border-color', 'black'); activeRect = null; } }); }); ``` 这段代码假设 SVG 中包含一个或多个矩形元素,每个矩形都可以被点击并成为活动矩形。当某个矩形被点击时,它将被标记为活动矩形,并且它将被添加一个“active”类,同时边框颜色将被设置为红色。如果之前有活动矩形,它将被标记为非活动矩形(即删除“active”类),并且边框颜色将被还原为黑色。如果单击了 SVG 元素本身,则会重置活动矩形。
相关问题

javascript jquery 该区域可以有一个活动矩形(另外用边框颜色突出显示,您可以在样式表中设置一个额外的类,例如, )。 当鼠标光标在一个矩形上按下时,该块变为活动状态(它被分配给给定的类),而先前的活动矩形(如果有)变为非活动状态(该类被“删除”)。选择 如果用户单击共享区域,活动属性将从活动矩形中重置。编写代码

下面是一个用 jQuery 实现的示例代码,实现了您提出的功能: HTML 代码: ```html <div id="rectangle-container"> <div class="rectangle"></div> <div class="rectangle"></div> <div class="rectangle"></div> </div> ``` CSS 代码: ```css .rectangle { width: 100px; height: 100px; border: 1px solid black; margin: 10px; } .active { border-color: red; } ``` JavaScript 代码: ```javascript $(document).ready(function() { var activeRectangle = null; // 初始化活动矩形为 null // 当鼠标按下时,将当前矩形设为活动矩形 $('#rectangle-container').on('mousedown', '.rectangle', function() { if (activeRectangle) { activeRectangle.removeClass('active'); // 将先前的活动矩形设为非活动状态 } $(this).addClass('active'); // 将当前矩形设为活动矩形 activeRectangle = $(this); }); // 当用户单击共享区域时,将活动属性从活动矩形中重置 $('body').click(function(event) { if (!$(event.target).closest('#rectangle-container').length) { if (activeRectangle) { activeRectangle.removeClass('active'); activeRectangle = null; } } }); }); ``` 代码解释: 1. 首先,我们在 HTML 中创建了一个包含若干个矩形的容器,每个矩形都有一个类名为 `rectangle`。我们还定义了一个边框颜色为红色的类名为 `active`,用于表示活动矩形。 2. 然后,我们在 jQuery 的 `ready` 函数中编写了代码,用于实现您提出的功能。 3. 首先,我们定义了一个变量 `activeRectangle`,用于存储当前的活动矩形。初始时,它被设为 `null`。 4. 然后,我们使用 jQuery 的 `on` 函数,为矩形容器绑定了一个 `mousedown` 事件,当鼠标按下时触发。我们使用 `event.target` 来获取当前被按下的矩形,并将其设为活动矩形。如果先前已经有活动矩形存在,我们需要将其设为非活动状态(即移除 `active` 类),然后将当前矩形设为活动矩形,并将其存储在 `activeRectangle` 变量中。 5. 最后,我们使用 jQuery 的 `click` 函数,为整个页面绑定了一个 `click` 事件。当用户单击页面上除矩形容器外的任何地方时,我们检查当前是否存在活动矩形。如果有,我们将其设为非活动状态,并将 `activeRectangle` 变量设为 `null`,从而重置活动属性。 希望这个示例能够帮助您理解如何实现您提出的功能。

javascript编写一个程序 使用 jQuery UI,可以拖动矩形,但只能在父区域内(使用 Draggable 属性)。 该区域可以有一个活动矩形(另外用边框颜色突出显示,您可以在样式表中设置一个额外的类,例如选中)。 当鼠标光标在矩形上按下时,该块变为活动状态(此类被分配给它),而先前的活动矩形(如果有)变为非活动状态(该类被“删除”)。 如果用户单击共享区域,活动属性将从活动矩形中重置。代码实例

以下是一个简单的示例代码,可以实现您的需求: HTML: ```html <div class="parent"> <div class="rectangle"></div> <div class="rectangle"></div> <div class="rectangle"></div> <div class="rectangle"></div> </div> ``` CSS: ```css .parent { width: 400px; height: 400px; border: 1px solid black; position: relative; } .rectangle { width: 50px; height: 50px; background-color: red; border: 1px solid black; position: absolute; } .active { border-color: blue; } ``` JavaScript: ```javascript $(function() { $(".rectangle").draggable({ containment: "parent", start: function() { $(this).addClass("active").siblings().removeClass("active"); } }); $(".parent").click(function() { $(".rectangle").removeClass("active"); }); }); ``` 以上代码中,我们使用了 jQuery UI 的 Draggable 属性来实现矩形的拖动,并使用了 addClass 和 removeClass 方法来切换矩形的活动状态。当用户单击父区域时,我们使用 removeClass 方法来重置活动属性。

相关推荐

最新推荐

recommend-type

在js文件中引入(调用)另一个js文件的三种方法

主要介绍了在js文件中引入(调用)另一个js文件的三种方法,帮助大家更好的理解和学习JavaScript,感兴趣的朋友可以了解下
recommend-type

JavaScript jQuery 中定义数组与操作及jquery数组操作

Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能 1.1 定义数组 声明有10个元素的数组 复制代码 代码如下: var a = new Array(10); ...
recommend-type

JavaScript实现x秒后自动跳转到一个页面

今天看视频学习时学习了一种... 2、有时我们需要有点提示,比如“x秒后自动跳转,若没有跳转,请点击此处”,则可以在myeclipse中调用Snippets中的Delay Go To URL.会自动生成如下代码: 代码如下: [removed] &lt;!– //
recommend-type

javascript使用Blob对象实现的下载文件操作示例

Blob是一个类文件的不可变的原始数据对象,非javascript原生数据类型,File对象就是继承自Blob对象,且在Blob的基础上进行扩展,以便支持用户系统上的文件。 前言 最近在做以post请求方式导出excel时,想到了可以...
recommend-type

JavaScript获取对象在页面中位置坐标的方法

本文实例讲述了JavaScript获取对象在页面中位置坐标的方法。分享给大家供大家参考,具体如下: [removed] function getXY(Obj) { var h = Obj.offsetHeight; for (var sumTop=0,sumLeft=0;Obj!=document.body;...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

用Spring boot和vue写一个登录注册界面

好的,这是一个比较常见的技术问题,我可以为您提供一些参考资料和思路。首先,您可以使用Spring Boot作为后端框架来处理用户认证和注册的逻辑,比如使用Spring Security实现用户登录认证。同时,您还需要设计相应的数据模型和数据库表结构来存储用户信息。在前端方面,您可以使用Vue.js作为框架来构建登录注册页面,使用Axios来发起API请求并和后端进行交互。当然,在实现过程中,还需要考虑一些具体细节,比如数据校验、安全性和用户体验等方面。希望这些信息能够帮助到您。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。