一个悬浮的DIV,实现鼠标拖动等功能

div跟随鼠标移动 1.一直跟着鼠标移动的div:原理是div的left和top值有oEvent.clientX+scrollLeft鼠标指针向对于浏览器页面(或客户区)的水平坐标+元素中滚动条的水平偏移 <!DOCTYPE html> <html> <head> <title>follow mouse</title&amp 阅读详情

<html>
<head>
<title>_xWin</title>
<script language=JScript>
<!--
//可以打包为js文件;
var x0=0,y0=0,x1=0,y1=0;
var offx=6,offy=6;
var moveable=false;
var hover='orange',normal='slategray';//color;
var index=10000;//z-index;
var xx;
//开始拖动;
function startDrag(obj)
{
        if(event.button==1)
        {
                //锁定标题栏;
                obj.setCapture();
                //定义对象;
                var win = obj.parentNode;
                var sha = win.nextSibling;
                //记录鼠标和层位置;
                x0 = event.clientX;
                y0 = event.clientY;
                x1 = parseInt(win.style.left);
                y1 = parseInt(win.style.top);
                //记录颜色;
                normal = obj.style.backgroundColor;
                //改变风格;
                obj.style.backgroundColor = hover;
                win.style.borderColor = hover;
                obj.nextSibling.style.color = hover;
                sha.style.left = x1 + offx;
                sha.style.top  = y1 + offy;
                moveable = true;
        }
}
//拖动;
function drag(obj)
{
        if(moveable)
        {
                var win = obj.parentNode;
                var sha = win.nextSibling;
                win.style.left = x1 + event.clientX - x0;
                                sha.style.left = parseInt(win.style.left) + offx;
                                if ((y1 + event.clientY - y0)>0 && (y1 + event.clientY - y0)<600){
                win.style.top  = y1 + event.clientY - y0;
                sha.style.top  = parseInt(win.style.top) + offy;
                }
        }
}
//停止拖动;
function stopDrag(obj)
{
        if(moveable)
        {
                var win = obj.parentNode;
                var sha = win.nextSibling;
                var msg = obj.nextSibling;
                win.style.borderColor     = normal;
                obj.style.backgroundColor = normal;
                msg.style.color           = normal;
                sha.style.left = obj.parentNode.style.left;
                sha.style.top  = obj.parentNode.style.top;
                obj.releaseCapture();
                moveable = false;
        }
}
//获得焦点;
function getFocus(obj)
{
        if(obj.style.zIndex!=index)
        {
                index = index + 2;
                var idx = index;
                obj.style.zIndex=idx;
                obj.nextSibling.style.zIndex=idx-1;
        }
}
//最小化;
function min(obj)
{
        var win = obj.parentNode.parentNode;
        var sha = win.nextSibling;
        var tit = obj.parentNode;
        var msg = tit.nextSibling;
        var flg = msg.style.display=="none";
        if(flg)
        {
                win.style.height  = parseInt(msg.style.height) + parseInt(tit.style.height) + 2*2;
                sha.style.height  = win.style.height;
                msg.style.display = "block";
                obj.innerHTML = "0";
        }
        else
        {
                win.style.height  = parseInt(tit.style.height) + 2*2;
                sha.style.height  = win.style.height;
                obj.innerHTML = "2";
                msg.style.display = "none";
        }
}
//关闭;
function cls(obj)
{
        var win = obj.parentNode.parentNode.parentNode;
        //var sha = win.nextSibling;
        win.style.visibility = "hidden";
        //sha.style.visibility = "hidden";
}
//显示/隐藏;
function ShowHide()
{
        if (xx!=null)
                        if (xx.style.visibility == "hidden")
                                xx.style.visibility = "visible";
                        else if (xx.style.visibility == "visible")
                                xx.style.visibility = "hidden";
}
//创建一个对象;
function xWin(id,w,h,l,t,tit,msg)
{
        index = index+2;
        this.id      = id;
        this.width   = w;
        this.height  = h;
        this.left    = l;
        this.top     = t;
        this.zIndex  = index;
        this.title   = tit;
        this.message = msg;
        this.obj     = null;
        this.bulid   = bulid;
        this.bulid();
        xx = document.getElementById('allx');
        xx.style.visibility = "visible";

}
//初始化;
function bulid()
{
        var str = ""
                + "<div id='allx'><div id='xMsg'" + this.id + " "
                + "style='"
                + "z-index:" + this.zIndex + ";"
                + "width:" + this.width + ";"
                + "height:" + this.height + ";"
                + "left:" + this.left + ";"
                + "top:" + this.top + ";"
                + "background-color:" + normal + ";"
                + "color:" + normal + ";"
                + "font-size:11px;"
                + "font-family:Verdana;"
                + "position:absolute;"
                + "cursor:default;"
                + "border:2px solid " + normal + ";"
                + "' "
                + "onmousedown='getFocus(this)'>"
                        + "<div "
                        + "style='"
                        + "background-color:" + normal + ";"
                        + "width:" + (this.width) + ";"
                        + "height:20;"
                        + "color:white;"
                        + "' "
                        + "onmousedown='startDrag(this)' "
                        + "onmouseup='stopDrag(this)' "
                        + "onmousemove='drag(this)' "
                        + "ondblclick='min(this.childNodes[1])'"
                        + ">"
                                + "<span style='width:" + (this.width-2*14) + ";padding-left:3px;'>" + this.title + "</span>"
                                + "<span style='width:14;border-width:0px;color:white;font-family:webdings;' onclick='min(this)'>0</span>"
                                + "<span style='width:14;border-width:0px;color:white;font-family:webdings;' onclick='cls(this)'>r</span>"
                        + "</div>"
                                + "<div style='"
                                + "width:100%;"
                                + "height:" + (this.height-20-4) + ";"
                                + "background-color:white;"
                                + "line-height:14px;"
                                + "word-break:break-all;"
                                + "padding:0px;"
                                + "'>" + this.message + "<iframe src='checkBox.html' width=460 scroll='no' style='border-width:0px'></iframe></div>"
                + "</div>"
                + "<div id='xshadow' style='"
                + "width:" + this.width + ";"
                + "height:" + this.height + ";"
                + "top:" + this.top + ";"
                + "left:" + this.left + ";"
                + "z-index:" + (this.zIndex-1) + ";"
                + "position:absolute;"
                + "background-color:black;"
                + "filter:alpha(opacity=40);"
                + "'>by wildwind</div></div>";
        document.getElementById('msgbox').innerHTML = str;
               
               
}
//-->
</script>

<script language='JScript'>
<!--
function initialize()
{
        var a = new xWin("0",460,400,200,200,"效果怎么样!","<br>aaaaaaaaaaaaaaaaaaaaaaaaa");

}
window.onload = initialize;
//-->
</script>
</head>
<body onselectstart='return false' oncontextmenu='return false' scroll='no'>


<DIV class=textSheet
style="BORDER-RIGHT: #3E8529 1px solid; BORDER-TOP: #639517 1px solid; BORDER-LEFT: #3E8529 1px solid; BORDER-BOTTOM: #3E8529 1px solid">

<table width="242" height="160" border="1" ID="Table2">

    <td align="center" valign="middle" style="cursor:hand;font-size:32px;color: #808080"  onMouseMove="bgColor='#ffff99'" onmouseout="bgColor='#FFFFFF'"

onclick="ShowHide()">显示隐藏</td>
</table>
</DIV>
<div id="msgbox"></div>
</body>
</html>

 

vuejs 移动端 实现div拖拽移动 vue 移动端 实现div拖拽移动 本文讲述,在使用VUE的移动端实现类似于iPhone的悬浮窗的效果。 相关知识点 touchstart 当在屏幕上按下手指时触发 touchmove 当在屏幕上移动手指时触发 touchend 当在屏幕上抬起手指时触发 mousedown mousemove mouseup对应的是PC端的事件 touchcancel 当一些更高级别的事件发生的... 阅读详情

相关推荐

vue2 - 实现网页悬浮窗鼠标可拖拽和靠边隐藏功能,可拖拽悬浮球组件示例代码,当靠近屏幕边缘时会磁吸靠近并缩进半隐藏,反之鼠标移入时悬浮球按钮元素会恢复原状态,vue如何实现右侧悬浮并且能拖拽拖动?

vue2,pc端网页,h5移动端,vue实现悬浮窗拖拽和靠边隐藏,vue2实现一个可以随意拖拽的悬浮按钮组件拖动悬浮按钮,实现h5拖拽悬浮挂件附带吸边效果,拖拽磁吸边缘半隐藏,PC端侧边悬浮并且靠边隐藏一半,在页面右上角实现可悬浮/隐藏的系统菜单,vue2飘浮窗实现(屏幕上下左右移动,触壁回弹)v拖拽悬浮组件靠边收起,可拖拽到页面的任何位置,怎么实现右侧悬浮,并且能拖拽的功能,实现可以拖动的悬浮框,拖拽球体贴边隐藏,vue2实现悬浮可拖动且靠近屏幕边缘自动吸附悬挂图标组件,拖动时很卡不流畅解决,Vue2实现

✅ 精选推荐文章 5924

div可视化拖动 随着鼠标拖动div,可以自由拖动

div可视化拖动

zhh_5的博客 1335

vue3 - 实现网页悬浮窗鼠标可拖拽和靠边隐藏功能,可拖拽悬浮球组件示例代码,当靠近屏幕边缘时会磁吸靠近并缩进半隐藏,反之鼠标移入时悬浮球按钮元素会恢复原状态,vue3怎么实现右侧悬浮并且能拖拽拖动

vue3,pc端网页,h5移动端,vue3实现悬浮窗拖拽和靠边隐藏,vue3实现一个可以随意拖拽的悬浮按钮组件拖动悬浮按钮,实现h5拖拽悬浮挂件附带吸边效果,拖拽磁吸边缘半隐藏,PC端侧边悬浮并且靠边隐藏一半,在页面右上角实现可悬浮/隐藏的系统菜单,vue3飘浮窗实现(屏幕上下左右移动,触壁回弹)v拖拽悬浮组件靠边收起,可拖拽到页面的任何位置,怎么实现右侧悬浮,并且能拖拽的功能,实现可以拖动的悬浮框,拖拽球体贴边隐藏,vue3实现悬浮可拖动且靠近屏幕边缘自动吸附悬挂图标组件,拖动时很卡不流畅解决,Vue3实

✅ 精选推荐文章 1万+

创建可移动的悬浮DIV

HTML代码如下: var divObj=null; var pX; var pY; document.onmousemove = divMove; document.onmouseup = divUp; function moveObj(obj){ divObj=document.all(obj); pX

wzq6511的专栏 1367

Macbook Pro Bootcamp 安装触控板驱动mac-precision-touchpad在Windows系统下实现更好的触控板操作

由于很多软件的限制,所以不得不在Windows和MacOS之间进行切换,然而,Windows下虽然Bootcamp提供了触控板的驱动,然而只能实现简单的上下滑动和点击等操作,而且在滑动页面的时候滑动非常不流畅,体验极差。 今天无意间发现了一款第三方撰写的驱动,可以较为完美地实现Macbook笔记本在Windows系统下的触控板操作支持,通过在我的2015款Macbook Pro(A1502)进行安装测试,感觉体验很不错,在这里分享给大家。 驱动来自于Github上的imbushu,他的项目地址如下: htt

博客 1万+

23. STM32F103C8T6 ADC采集光敏电阻传感器模块光照强度实战

本文详细介绍了如何使用STM32F103C8T6的ADC模块采集光敏电阻传感器的光照强度。通过硬件接线、核心原理讲解、四步代码配置(GPIO、ADC模式、使能校准、数据滤波)以及串口验证,手把手指导完成从模拟信号到数字值的完整实战流程,并重点提示了ADC时钟分频等关键配置要点。

weixin_42300144的博客 221

html js设置div可拖动效果

第一种:先看代码,可直接复制使用。 这部分是我找了个例子,看了一遍,自己写的。但是也有一些问题。 问题:js设置div可拖动效果  当我在实际项目中使用时,div里有关闭div的按钮,很多时候点击按钮,关闭事件不触发,反而div会移动。因为该div是js动态生成了,我尝试使用阻止冒泡事件来解决这个问题,但是不起作用。于是换了另一种方式。如下第二种 &lt;!doctype html&gt;...

weixin_40841731的博客 8373

整理的15个公开且可直接使用的电力视觉输电线路领域数据集

而巡检数据是目前来说影响我们做科研的最大阻碍,为此本内容主要总结了,现有的且公开免费的巡检数据集,供大家使用。STN PLAD数据集133个航拍图像,五个电力部件:电力塔及其塔的ID、绝缘子,防震锤,联板(yoke),图像的尺寸在5472×3648到5472×3078。IDID数据集:2000张图像,包含三个类别,正常绝缘子,破损绝缘子和闪络绝缘子三个类别,用于目标检测的实验。TTPLA数据集,用于实例分割,1100张尺寸为3840×2160,包含两个类别,电力杆塔和电力线。主要用于电力杆塔的目标检测。

weixin_42048361的博客 5019

原生js 实现移动端 元素页面拖拽

html <div id="qmkf" > <div> 拖动</div> </div> css #qmkf { border-radius: 50%; position: fixed; z-index: 99; width: 39px; ...

qq_41851047的博客 1062

手把手教你用TP4056和PMOS管搭建锂电池自动切换电路(含元器件选型指南)

本文详细介绍了如何使用TP4056和PMOS管搭建锂电池自动切换电路,包括核心架构设计、元器件选型指南和PCB布局优化。通过智能充电算法和电源路径切换模块,实现外部供电与锂电池的无缝切换,提升便携式设备的电源管理效率。

julia4scientist的博客 890

【分享】获取微信通讯录python代码形式实现

微信号”, “昵称”, “地区”, “备注”, “标签”, “签名”, “来源”5. 找到最后一个空格所在的位置(后一个就是真正的联系人了)当前微信号与上一个相同的时候,说明到底部了,可以跳出循环。3. 滚动鼠标到最顶部(防止已经滚动了一部分了)7.记录下上一个联系人的微信号。7. 无限循环按键盘下箭头。获取详情中的以下元素内容。6. 点击第一个联系人。4. 获取联系人列表。

程序员老狼专注开发aigc或客服系统应用 2894

HTML页悬浮div的两种方式

HTML页悬浮div的两种方式,类似固定在某个地方的形式和类似导航栏悬浮的形式,前者一直显示在屏幕上,后者可以再滚动时候再显示出来

u012698249的博客 8万+

手把手教你用差分放大电路搭建LC振荡器(实测频率误差分析)

本文通过一个差分放大电路搭建LC振荡器的实践案例,深入分析了实测频率与理论值产生显著误差的原因。核心在于共模电感的互感效应改变了谐振回路的等效电感,导致频率偏差。文章提供了从电路搭建、误差根源剖析到波形优化与稳定性提升的完整解决方案,帮助电子爱好者深入理解模拟电路的实际行为。

svm4gardener的博客 542

实现可以拖动的悬浮框

实现可以拖动的悬浮框 直接上代码,有注释 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>实现可以拖动的悬浮框</title> <style>

abcquan123的博客 1080

揭秘大厂 Unity 红点系统设计:别小看右上角那颗小红点,它能把你项目搞崩

本文详细探讨了游戏大厂如何设计高性能红点系统。红点作为提升用户活跃和转化率的重要工具,需要支持多级联动、动态判断和全局一致性。系统采用观察者模式和树形结构,分为数据管理、逻辑判定、订阅通知和UI展示四大模块,通过事件驱动方式实现高效刷新。文章特别强调了解耦设计、配置化管理和性能优化,并提出了热更新、数据分析等高级应用场景。最终指出,优秀的红点系统需要架构标准化、自动化配置和团队紧密协作,是大型游戏项目的关键技术基础。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 378

第20期-英伟达笔试题型解析

英伟达作为AI领域的缔造者及硬件基石,是这几年最为炙手可热的公司。英伟达以其高性能GPU设计闻名,硬件工程师岗位的招聘通常包括笔试和技术面试,考察领域涵盖数字电路设计、处理器架构、嵌入式系统和信号处理等。通过搜索公开平台,收集了候选人的面试经历和相关技术问题,,通过分析公开平台收集的笔试面试经验,结合英伟达的GPU架构特点,整理出可能涉及的典型题目,并提供详细解析。 以下是基于英伟达(Nvidia)硬件工程师笔试题型的解析与总结,涵盖核心知识点、解题思路及案例分析。

启芯硬件的博客 746

vue实现拖动悬浮框

<template> <div> <div class="drift" @touchstart="dragStart" @touchmove="dragMove" @touchend="dragEnd"> <div><img src="../assets/img/homeimg1.png" @click="toTop"...

qq_37465264的博客 2905

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JS制作DIV悬浮窗与悬浮窗拖拽

     //-------------------------------------------------------------------这里只是吐槽!~------------------------------------------------------------------   啊哈,这是第一次来博客园里写博客喃。当然也是我的第一篇博客啦= =!很有纪念意义。。...

adsl4977的博客 931

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VUE PC端可拖动悬浮按钮改进

之前发过一篇悬浮球的,但是那个不太好用,鼠标移动过快会脱标,就很难受,最近又改了一下,这是加了个监听,拖动结束的时候改变top和left,应该还能改进,欢迎大佬们提出意见。VUE PC端可拖动悬浮按钮改进。

A7536的博客 1975

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

React 使用onMouseDown、onMouseMove、onMouseUp完美实现悬浮球拖动

近期需要做一个全局的小助手,类似于360加速球的效果,在网页中就需要组件的拖动。但是使用onDrag实现拖动,需要设置放置的容器,否则拖动时会出现禁止标志,很难受。所以想着给组件加上鼠标事件,通过鼠标事件来改变组件的绝对位置实现拖动。 1.实现组件的拖动 import React, { useRef, useEffect, useState } from 'react'; const onMouseDown = (ref, setDraggable) => (e) => { // 记录鼠

qq_44229380的博客 8701

兼容移动端/PC端悬浮模块拖动效果

JS简单实现兼容移动端/PC端悬浮模块的拖动效果 后端程序员进攻前端啦,有个可拖动悬浮按钮需求,做个笔录。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>兼容移动端/PC端悬浮模块拖动效果</title> &l...

Mr_DouDo的博客 1994

H5页面悬浮球,可拖动

H5页面悬浮球,可拖动 $(document).ready(function() { //设置样式 $("body").css({"margin":0,"padding":0}); $(".homepage-btn").css({//初始化HOME图标到屏幕右上角 "left":($(window).width()-$(".homepage-btn").width()-10) + "px" , "top":"85%" }) setTimeout('$(".homepage-b

2414

打造新Web体验:如何在Vue 2项目中实现可拖动定位的悬浮按钮(代码版)

在现代的前端开发中,悬浮按钮广泛应用于各种场景。本文将介绍如何在 Vue 2 项目中实现一个固定在屏幕右侧、可垂直拖动的悬浮按钮。按钮拖动后会自动固定在屏幕的右侧,避免按钮超出屏幕范围,并配合抽屉组件实现快捷菜单功能。

weixin_45408984的博客 2945

可以拖动的悬浮窗

style{ .show { display: none; background: transparent; text-align: center; position: absolute; z-index: 2; width: 770px; height: 500px; } .title { background: #C0C0C0; width: 77...

f303153041的专栏 578

VUE PC端可拖动悬浮按钮导航菜单

最近遇到的奇葩需求,客户要在管理系统中加一个快捷导航,是个悬浮按钮,本身用若依做的,那左边导航栏不好用吗=-=,不过客户有需求,我们就得做啊,然后就在网上找了个改了一下。

A7536的博客 3604

JS实现鼠标点击拖动窗口方法

点击窗口

sanlerina_123的专栏 1283
上一篇: oracle数据库的备份与还原(本地及远程操作)
下一篇: model实体类中hibernate注解
rainVSjava
博客等级 码龄15年 1粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值