- 浏览: 313051 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (195)
- 心情随想 (20)
- java基础 (30)
- 技术文章 (4)
- 在oracle的海洋中遨游 (25)
- unix (5)
- 没有意义 (6)
- 效率 (1)
- js (5)
- hibernate (2)
- jfreechart (3)
- 分析 (1)
- DW (2)
- on-line analytical processing (1)
- 人工智能理论 (10)
- weblogic (4)
- 我也cvs (0)
- TAM SSO 应用改造 (2)
- LADP (2)
- servlet (1)
- java 编码 (3)
- 智科 语录 (2)
- java 工作流 (1)
- swt (1)
- java pattern (1)
- xml和html基础 (19)
- c# (3)
- eclipse (1)
- db2 (4)
- 面试题 (0)
- english (2)
- Ruby (1)
- OLAP (3)
- 网友的智慧 (1)
- SOA (1)
- 搜索引擎 (4)
- 构建自己的报表工具 (1)
- JMX (1)
- 朝花朝拾 之少年记忆 (3)
- C语言 (2)
- struts2 (4)
- 元数据 数据仓库 (1)
- liferay (1)
- 分析工具 (0)
最新评论
-
yy8093:
只能在JDK1.4下监控WebLogic Server 8.x ...
weblogic JMX 中遇到的问题 -
di1984HIT:
问题找到了,就是1.4和1.5不兼容导致的,通过分析Objec ...
weblogic JMX 中遇到的问题_2 -
hillhill:
getServletContext().getRealPath ...
request.getRealPath("/") AIX不同与windows -
mrgood:
哥错了,这问题太傻逼了 一时没看出来
登录验证 struts2 -
mrgood:
LoginAction.java里面 if(getUserna ...
登录验证 struts2
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<style type="text/css">
body
{
margin:10px;
}
#dragHelper
{
position:absolute;/*重要*/
border:2px dashed #000000;
background-color:#FFFFFF;
filter: alpha(opacity=30);
}
.normal
{
position:absolute;/*重要*/
width:300px;
#height:10px;
border:1px solid #666666;
background-color:#FFFFFF;
}
.over
{
position:absolute;/*重要*/
width:300px;
#height:10px;
border:1px solid #666666;
background-color:#f3f3f3;
filter: alpha(opacity=50);
}
.dragArea {
CURSOR: move;
}
</style>
</HEAD>
<BODY oncontextmenu="window.event.returnValue=false">
<input type="text" id="evt" name="eventValue" size="40" />
<div id="dragHelper" style="display:none"></div>
<div class="normal" overClass="over" dragClass="normal">
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC" bar="yes"><td><a href="#">Cobao</a></td><td dragArea="yes" class="dragArea">........</td><td><a href="#" onclick="openClose(this)">-</a> x</td></tr>
<tr><td colspan="3">地址:http://www.cobao.cn</td></tr>
<tr><td colspan="3">关键字:</td></tr>
<tr><td colspan="3">说明:</td></tr>
</tbody>
</table>
</div>
<div class="normal" overClass="over" dragClass="normal">
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC" bar="yes"><td>新浪</td><td dragArea="yes" class="dragArea">........</td><td><a href="#" onclick="openClose(this)">-</a> x</td></tr>
<tr><td colspan="3">地址:http://www.sina.com.cn</td></tr>
<tr><td colspan="3">关键字:</td></tr>
<tr><td colspan="3">说明:</td></tr>
</tbody>
</table>
</div>
<div class="normal" overClass="over" dragClass="normal">
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC" bar="yes"><td>网易</td><td dragArea="yes" class="dragArea">........</td><td><a href="#" onclick="openClose(this)">-</a> x</td></tr>
<tr><td colspan="3">地址:http://www.163.com</td></tr>
<tr><td colspan="3">关键字:</td></tr>
<tr><td colspan="3">说明:</td></tr>
</tbody>
</table>
</div>
<div class="normal" overClass="over" dragClass="normal">
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC" bar="yes"><td>QQ</td><td dragArea="yes" class="dragArea">........</td><td><a href="#" onclick="openClose(this)">-</a> x</td></tr>
<tr><td colspan="3">地址:http://www.qq.com</td></tr>
<tr><td colspan="3">关键字:</td></tr>
<tr><td colspan="3">说明:</td></tr>
</tbody>
</table>
</div>
</BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var dragObjs = []; //可以拖拽的元素数组
var dragObjTops = [];
var dragHelper = document.getElementById("dragHelper"); //拖拽时位置框
var dragObj = null; //拖拽对象元素
var dragObjPos = 0;
var dragObjOffset = {left:0,top:0}; //拖拽对象原始位置
var mouseInDragObjOffset = {x:0,y:0}; //鼠标在拖拽对象中的相对位置
var initHeight = 40;
Number.prototype.NaN0=function(){return isNaN(this)?0:this;}
function getPosition(e){ //获取元素相对文档的绝对位置
var left = 0;
var top = 0;
while (e.offsetParent){
left += e.offsetLeft;
top += e.offsetTop;
e = e.offsetParent;
}
left += e.offsetLeft;
top += e.offsetTop;
return {x:left, y:top};
}
function mouseCoords(ev){ //获取鼠标相对文档的绝对位置
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
function getMouseOffset(target, ev){ // 获取鼠标相对元素的相对位置
ev = ev || window.event;
var elementPos = getPosition(target);
var mousePos = mouseCoords(ev);
return {x:mousePos.x - elementPos.x, y:mousePos.y - elementPos.y};
}
function mouseDown(ev){
ev = ev || window.event;
target = ev.srcElement || ev.target;
if(dragObj){
return;
}
var dragArea = false;
if(target.getAttribute("dragArea")){
dragArea = true;
}
while(!target.getAttribute("isDragObj")){
if(target.tagName=="HTML")
break;
target = target.parentNode;
}
if(dragArea && target.getAttribute("isDragObj")){
dragObj = target;
//重写的目的是让当前对象在最上层
document.body.removeChild(dragObj);
document.body.appendChild(dragObj);
//记录下拖拽对象原始位置
dragObjOffset.left = dragObj.style.left;
dragObjOffset.top = dragObj.style.top;
dragObj.className = dragObj.getAttribute("overClass");
//鼠标在拖拽对象中的相对位置
mouseInDragObjOffset = getMouseOffset(dragObj, ev);
dragHelper.style.left = dragObj.style.left;
dragHelper.style.top = dragObj.style.top;
dragHelper.style.width = dragObj.offsetWidth;
dragHelper.style.height = dragObj.offsetHeight;
dragHelper.style.display = "";
//alert(dragObj.offsetWidth+":"+dragObj.clientWidth);
}
}
function mouseUp(ev){
ev = ev || window.event;
target = ev.srcElement || ev.target;
if(dragObj){
dragObj.style.left = dragHelper.style.left;
dragObj.style.top = dragHelper.style.top;
dragHelper.style.display = "none";
dragObj.className = dragObj.getAttribute("dragClass");
dragObj = null;
}
}
function mouseMove(ev){
ev = ev || window.event;
if(dragObj) {
var mousePos = mouseCoords(ev);
/*dragHelper.style.left = dragObjOffset.left;
dragHelper.style.top = dragObjOffset.top;
dragHelper.style.width = dragObj.offsetWidth;
dragHelper.style.height = dragObj.offsetHeight;
dragHelper.style.display = "";*/
var windowWidth = document.body.offsetWidth; //窗口宽度
var windowHeight = document.body.offsetHeight; //窗口高度
//拖拽对象应该所在当前位置
var dragObjLeft = mousePos.x - mouseInDragObjOffset.x;
var dragObjTop = mousePos.y - mouseInDragObjOffset.y;
//增加判断,不然拖拽对象拖出浏览器窗口
if(dragObjLeft >= 0 && dragObjLeft <= windowWidth - dragObj.offsetWidth - 20)
dragObj.style.left = dragObjLeft;
if(dragObjTop >=0)
dragObj.style.top = dragObjTop;
repaint();
}
}
//克隆对象
function cloneObject(srcObj, destObj){
destObj = srcObj.cloneNode(true);
}
function makeDraggable(element){
element.setAttribute("isDragObj", "y");
}
function repaint(){
for(i=0; i<dragObjs.length; i++){
if(dragObjs[i] == dragObj){
dragObjPos = i;
dragObjs[i] = dragHelper;
break;
}
}
if(dragObjPos>0 && parseInt(dragObj.style.top)<parseInt(dragObjs[dragObjPos-1].style.top)){
dragObjs[dragObjPos] = dragObjs[dragObjPos-1];
dragObjs[dragObjPos-1] = dragHelper;
dragObjPos = dragObjPos - 1;
}
if(dragObjPos<dragObjs.length-1 && parseInt(dragObj.style.top)>parseInt(dragObjs[dragObjPos+1].style.top)){
dragObjs[dragObjPos] = dragObjs[dragObjPos+1];
dragObjs[dragObjPos+1] = dragHelper;
dragObjPos = dragObjPos + 1;
}
paintDragObjs();
dragObjs[dragObjPos] = dragObj;
}
function paintDragObjs(){
var h = 40;
for(i=0; i<dragObjs.length; i++){
dragObjs[i].style.left = 20;
dragObjs[i].style.top = h;
h += dragObjs[i].offsetHeight + 10;
}
}
function openClose(obj){
obj.innerHTML = obj.innerHTML=="-"?"+":"-";
while(obj.tagName != "TBODY"){
obj = obj.parentNode;
}
for(i=0; i<obj.childNodes.length; i++){
if(obj.childNodes[i].nodeName == "#text"
|| obj.childNodes[i].getAttribute("bar")){ continue; }
obj.childNodes[i].style.display=obj.childNodes[i].style.display==""?"none":"";
}
paintDragObjs();
}
document.onmousedown = mouseDown;
document.onmouseup = mouseUp;
document.onmousemove = mouseMove;
window.onload = function(){
var objs = document.getElementsByTagName("Div");
for(i=0; i<objs.length; i++){
var item = objs.item(i);
//if(i==1)item.style.height=150;
if(item.getAttribute("overClass")){
makeDraggable(item);
dragObjs.push(item);
item.style.left = 20;
item.style.top = initHeight;
dragObjTops.push(initHeight);
initHeight += item.offsetHeight + 10;
}
}
// dragHelper = document.createElement('DIV');
// dragHelper.style.cssText = 'position:absolute;display:none;';
// document.body.appendChild(dragHelper);
}
//-->
</SCRIPT>
</HTML>
<HEAD>
<TITLE> New Document </TITLE>
<style type="text/css">
body
{
margin:10px;
}
#dragHelper
{
position:absolute;/*重要*/
border:2px dashed #000000;
background-color:#FFFFFF;
filter: alpha(opacity=30);
}
.normal
{
position:absolute;/*重要*/
width:300px;
#height:10px;
border:1px solid #666666;
background-color:#FFFFFF;
}
.over
{
position:absolute;/*重要*/
width:300px;
#height:10px;
border:1px solid #666666;
background-color:#f3f3f3;
filter: alpha(opacity=50);
}
.dragArea {
CURSOR: move;
}
</style>
</HEAD>
<BODY oncontextmenu="window.event.returnValue=false">
<input type="text" id="evt" name="eventValue" size="40" />
<div id="dragHelper" style="display:none"></div>
<div class="normal" overClass="over" dragClass="normal">
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC" bar="yes"><td><a href="#">Cobao</a></td><td dragArea="yes" class="dragArea">........</td><td><a href="#" onclick="openClose(this)">-</a> x</td></tr>
<tr><td colspan="3">地址:http://www.cobao.cn</td></tr>
<tr><td colspan="3">关键字:</td></tr>
<tr><td colspan="3">说明:</td></tr>
</tbody>
</table>
</div>
<div class="normal" overClass="over" dragClass="normal">
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC" bar="yes"><td>新浪</td><td dragArea="yes" class="dragArea">........</td><td><a href="#" onclick="openClose(this)">-</a> x</td></tr>
<tr><td colspan="3">地址:http://www.sina.com.cn</td></tr>
<tr><td colspan="3">关键字:</td></tr>
<tr><td colspan="3">说明:</td></tr>
</tbody>
</table>
</div>
<div class="normal" overClass="over" dragClass="normal">
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC" bar="yes"><td>网易</td><td dragArea="yes" class="dragArea">........</td><td><a href="#" onclick="openClose(this)">-</a> x</td></tr>
<tr><td colspan="3">地址:http://www.163.com</td></tr>
<tr><td colspan="3">关键字:</td></tr>
<tr><td colspan="3">说明:</td></tr>
</tbody>
</table>
</div>
<div class="normal" overClass="over" dragClass="normal">
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC" bar="yes"><td>QQ</td><td dragArea="yes" class="dragArea">........</td><td><a href="#" onclick="openClose(this)">-</a> x</td></tr>
<tr><td colspan="3">地址:http://www.qq.com</td></tr>
<tr><td colspan="3">关键字:</td></tr>
<tr><td colspan="3">说明:</td></tr>
</tbody>
</table>
</div>
</BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var dragObjs = []; //可以拖拽的元素数组
var dragObjTops = [];
var dragHelper = document.getElementById("dragHelper"); //拖拽时位置框
var dragObj = null; //拖拽对象元素
var dragObjPos = 0;
var dragObjOffset = {left:0,top:0}; //拖拽对象原始位置
var mouseInDragObjOffset = {x:0,y:0}; //鼠标在拖拽对象中的相对位置
var initHeight = 40;
Number.prototype.NaN0=function(){return isNaN(this)?0:this;}
function getPosition(e){ //获取元素相对文档的绝对位置
var left = 0;
var top = 0;
while (e.offsetParent){
left += e.offsetLeft;
top += e.offsetTop;
e = e.offsetParent;
}
left += e.offsetLeft;
top += e.offsetTop;
return {x:left, y:top};
}
function mouseCoords(ev){ //获取鼠标相对文档的绝对位置
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
function getMouseOffset(target, ev){ // 获取鼠标相对元素的相对位置
ev = ev || window.event;
var elementPos = getPosition(target);
var mousePos = mouseCoords(ev);
return {x:mousePos.x - elementPos.x, y:mousePos.y - elementPos.y};
}
function mouseDown(ev){
ev = ev || window.event;
target = ev.srcElement || ev.target;
if(dragObj){
return;
}
var dragArea = false;
if(target.getAttribute("dragArea")){
dragArea = true;
}
while(!target.getAttribute("isDragObj")){
if(target.tagName=="HTML")
break;
target = target.parentNode;
}
if(dragArea && target.getAttribute("isDragObj")){
dragObj = target;
//重写的目的是让当前对象在最上层
document.body.removeChild(dragObj);
document.body.appendChild(dragObj);
//记录下拖拽对象原始位置
dragObjOffset.left = dragObj.style.left;
dragObjOffset.top = dragObj.style.top;
dragObj.className = dragObj.getAttribute("overClass");
//鼠标在拖拽对象中的相对位置
mouseInDragObjOffset = getMouseOffset(dragObj, ev);
dragHelper.style.left = dragObj.style.left;
dragHelper.style.top = dragObj.style.top;
dragHelper.style.width = dragObj.offsetWidth;
dragHelper.style.height = dragObj.offsetHeight;
dragHelper.style.display = "";
//alert(dragObj.offsetWidth+":"+dragObj.clientWidth);
}
}
function mouseUp(ev){
ev = ev || window.event;
target = ev.srcElement || ev.target;
if(dragObj){
dragObj.style.left = dragHelper.style.left;
dragObj.style.top = dragHelper.style.top;
dragHelper.style.display = "none";
dragObj.className = dragObj.getAttribute("dragClass");
dragObj = null;
}
}
function mouseMove(ev){
ev = ev || window.event;
if(dragObj) {
var mousePos = mouseCoords(ev);
/*dragHelper.style.left = dragObjOffset.left;
dragHelper.style.top = dragObjOffset.top;
dragHelper.style.width = dragObj.offsetWidth;
dragHelper.style.height = dragObj.offsetHeight;
dragHelper.style.display = "";*/
var windowWidth = document.body.offsetWidth; //窗口宽度
var windowHeight = document.body.offsetHeight; //窗口高度
//拖拽对象应该所在当前位置
var dragObjLeft = mousePos.x - mouseInDragObjOffset.x;
var dragObjTop = mousePos.y - mouseInDragObjOffset.y;
//增加判断,不然拖拽对象拖出浏览器窗口
if(dragObjLeft >= 0 && dragObjLeft <= windowWidth - dragObj.offsetWidth - 20)
dragObj.style.left = dragObjLeft;
if(dragObjTop >=0)
dragObj.style.top = dragObjTop;
repaint();
}
}
//克隆对象
function cloneObject(srcObj, destObj){
destObj = srcObj.cloneNode(true);
}
function makeDraggable(element){
element.setAttribute("isDragObj", "y");
}
function repaint(){
for(i=0; i<dragObjs.length; i++){
if(dragObjs[i] == dragObj){
dragObjPos = i;
dragObjs[i] = dragHelper;
break;
}
}
if(dragObjPos>0 && parseInt(dragObj.style.top)<parseInt(dragObjs[dragObjPos-1].style.top)){
dragObjs[dragObjPos] = dragObjs[dragObjPos-1];
dragObjs[dragObjPos-1] = dragHelper;
dragObjPos = dragObjPos - 1;
}
if(dragObjPos<dragObjs.length-1 && parseInt(dragObj.style.top)>parseInt(dragObjs[dragObjPos+1].style.top)){
dragObjs[dragObjPos] = dragObjs[dragObjPos+1];
dragObjs[dragObjPos+1] = dragHelper;
dragObjPos = dragObjPos + 1;
}
paintDragObjs();
dragObjs[dragObjPos] = dragObj;
}
function paintDragObjs(){
var h = 40;
for(i=0; i<dragObjs.length; i++){
dragObjs[i].style.left = 20;
dragObjs[i].style.top = h;
h += dragObjs[i].offsetHeight + 10;
}
}
function openClose(obj){
obj.innerHTML = obj.innerHTML=="-"?"+":"-";
while(obj.tagName != "TBODY"){
obj = obj.parentNode;
}
for(i=0; i<obj.childNodes.length; i++){
if(obj.childNodes[i].nodeName == "#text"
|| obj.childNodes[i].getAttribute("bar")){ continue; }
obj.childNodes[i].style.display=obj.childNodes[i].style.display==""?"none":"";
}
paintDragObjs();
}
document.onmousedown = mouseDown;
document.onmouseup = mouseUp;
document.onmousemove = mouseMove;
window.onload = function(){
var objs = document.getElementsByTagName("Div");
for(i=0; i<objs.length; i++){
var item = objs.item(i);
//if(i==1)item.style.height=150;
if(item.getAttribute("overClass")){
makeDraggable(item);
dragObjs.push(item);
item.style.left = 20;
item.style.top = initHeight;
dragObjTops.push(initHeight);
initHeight += item.offsetHeight + 10;
}
}
// dragHelper = document.createElement('DIV');
// dragHelper.style.cssText = 'position:absolute;display:none;';
// document.body.appendChild(dragHelper);
}
//-->
</SCRIPT>
</HTML>
发表评论
-
一个好用的树-dhtmlXTree
2008-09-05 16:00 3727关键字:dhtmlXTree 转载地址:http://www. ... -
JavaScript 获取浏览器的显示区域大小信息
2008-08-02 19:17 1250区域说明 JavaScript Code 网页可见区域宽 ... -
Portal实现原理 转载
2008-06-24 14:28 1263出自http://www.iteye.com/topic/70 ... -
多项选择框的移入 移出 <select multiple="multiple">
2008-06-06 09:58 5349<!DOCTYPE HTML PUBLIC " ... -
The Form Garden表单花园在线生成表单样式,并有CSS文件下载
2008-05-30 19:06 2695表单花园是一个可以在线制作表单样式的网站,有一些爱好者提供表单 ... -
带输入的选择框
2008-05-08 17:28 1063<!DOCTYPE HTML PUBLIC " ... -
横向的JS相册效果
2008-04-30 17:44 3020<!DOCTYPE html PUBLIC " ... -
弹出层
2008-04-30 17:26 1099<!DOCTYPE html PUBLIC " ... -
div js 分割
2008-04-30 17:24 3816<html> <head> < ... -
拖拽div
2008-04-30 17:21 971<!DOCTYPE html PUBLIC " ... -
tab选项卡
2008-04-30 17:16 1076<style> body {font-size: ... -
页面模板化
2008-04-30 16:25 865这个是下载合肥论坛自定义空间的模板,仅供学习使用,欢迎大家讨论 ... -
XML基础
2008-04-28 08:37 828xml元素命名必须遵守如下的规则: 1:元素的名字包含字母 ... -
HTML and XML的行为
2008-04-27 17:16 876XML 行为behavior 新的DHTML? behav ... -
XML和HTML的主要区别是什么
2008-04-27 16:46 16991:xml是用来存放数据的 2: xml不是HTML的替代品, ... -
什么是web标准 (转载)
2008-04-21 09:37 824WEB标准不是某一个标准 ... -
第二课 html的组织结构以及发展方向
2008-03-31 17:27 1176下面是一个遍历文档的例子,通过使用Dom将一个HTML文档解析 ... -
第一课 页面的加载顺序
2008-03-31 16:43 2440一般我们都知道 window.body.onload=什么是在 ...
相关推荐
在“unity自制scroll view面板,scroll bar可一拖动drag”这个项目中,开发者创建了一个自定义的Scroll View组件,并实现了拖放(drag)功能,使得用户可以通过直接拖动scroll bar来滚动内容。这大大提高了用户体验...
Slider组件包含一个Handle(手柄)和一个Track(轨道),用户可以通过拖动Handle来改变滑动条的值。 要实现滑动条的拖拽开始和结束事件,我们可以为Slider组件添加自定义脚本。在C#中创建一个新的脚本,例如命名为`...
handle: ".drag-handle" // 如果需要特定的拖动手柄,可以设置 }); ``` `containment`选项可以防止iframe超出父容器的边界,而`handle`则可以选择一个特定的DOM元素作为拖动手柄。 4. **调整iframe位置**:当...
4. 如果你下载的是`.crx`文件,可以直接拖拽到浏览器扩展页面进行安装,但请注意,由于安全原因,Chrome可能会阻止直接安装,此时需要按照上述步骤进行手动加载。 Json-Handle插件的使用方法: 1. 安装完成后,...
2. 安装:在谷歌浏览器中,用户需要进入“设置” -> “扩展程序”页面,然后拖拽下载的CRX文件到该页面,浏览器会提示安装插件,确认后即可完成安装。 3. 使用:一旦安装成功,当用户访问任何包含JSON数据的网页时,...
在安装过程中,用户需要确保已开启“开发者模式”,然后将CRX文件拖拽到浏览器的扩展页面进行安装。 总的来说,chrome-json-handle是Web开发者必备的工具之一,通过它,开发者能够更加高效地处理日常工作中遇到的...
用户只需在谷歌浏览器中输入“chrome://extensions/”进入扩展程序页面,然后将下载并解压缩后的CRX文件拖拽到该页面上,浏览器会自动识别并安装插件。这种方法使得用户无需复杂的配置,就能快速启用JSON-handle的...
这个压缩包文件中的资源和代码似乎是为了实现一个工具,通过拖动图标来获取目标窗口的特定属性,如HANDLE(句柄)、CLASS、TEXT(文本)以及PARENT(父窗口),同时也可能涉及窗口的颜色信息。以下是对这些概念的...
你可以设置各种选项,如限制拖动范围、设置拖动 handle 等。 ### 3. 移除层 移除层是指在网页上删除不再需要的HTML元素。jQuery的`remove()`方法可以做到这一点: ```javascript $('.remove-layer').click...
通常,这涉及到将解压后的文件拖拽到浏览器的扩展页面,或者手动导入manifest.json文件。安装完成后,开发者可以在浏览器的开发者工具中找到这个插件的入口,可能是在“Elements”、“Console”或“Sources”面板中...
谷歌浏览器JSON可视化插件:JSON-handle 简单好用,方便快捷,占用空间小 安装步骤: 1、打开谷歌浏览器,进入Chrome扩展程序页面 2、地址栏直接输入chrome://extensions/ 3、打开右上角的开发者模式 4、将刚刚下载...
* 旋转:拖动handle旋转 * 点:添加了三个相关支持函数 * 直线:使用点的支持函数实现 * 圆:只改变handle,其余均不动 * 椭圆:handle旋转至水平或垂直时,旋转90度 * 多边形:按键时不改变handle ## 下...
们需要在后端处理拖拽事件,这通常涉及到数据模型的更新。在Java中,我们可能使用JavaFX或Swing来实现这样的功能。对于JavaFX,我们可以监听`onDragDetected`、`onDragEntered`、`onDragExited`、`onDragDropped`和`...
“MGS-Handle”脚本资源包用于绑定常见按钮开关、旋钮开关以及摇杆手柄。实现鼠标对开关的点击、拖拽操作,反馈开关状态和事件响应。
content 是隐藏的抽屉内容,当用户拖动handle时,content会随之滑出或隐藏。 2. **创建SlidingDrawer**: 在XML布局文件中,你可以通过`<SlidingDrawer>`标签来创建一个抽屉。你需要指定handle和content的ID,并...
handle: '.el-table__column-header-wrapper', // 指定可拖动的元素 onEnd: this.handleColumnDragEnd, // 拖动结束事件 }); }, methods: { handleColumnDragEnd({ oldIndex, newIndex }) { // 使用Sortable...
本示例着重介绍如何自定义`QGraphicsItem`实现拖动绘制、拖动以及拉伸缩放图元的功能。下面我们将详细探讨这些知识点。 1. **QGraphicsItem自定义**: 自定义`QGraphicsItem`意味着你需要继承`QGraphicsItem`类,...
在`methods`选项中定义`handleSuccess`和`handleChange`方法,分别处理图片上传成功和拖动排序后的逻辑。`handleChange`方法接收新的排序数组并更新`imageList`。 8. **样式调整** 使用CSS调整组件样式,确保图片...
接下来,我们将深入探讨Flex中的拖拽(Drag)和伸缩(Resize)机制,以及ObjectHandle组件如何实现这些功能。 1. Flex框架:Flex是Adobe开发的一种用于构建富互联网应用(RIA)的开源框架,基于ActionScript和MXML。它...
moves: (el, source, handle) => handle.classList.contains('draggable') // 只有具有'draggable'类的元素才能被移动 }); } ``` 4. **模板中的HTML标记** 在对应的`drag-sort.component.html`模板文件中,...