支持谷歌浏览器下鼠标拖动和拖拽的鼠标指针特效

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档——石家庄玻璃隔断厂家|石家庄感应门</title>
<style>
#box{width:100px;height:100px;background:#966;position:absolute;left:100px;top:100px;cursor:pointer;}
</style>
</head>
<body>
<div id="box"></div>
<script>
var doc=document;

function getViewport(){
   return {width:Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth),
           height:Math.max(document.documentElement.clientHeight,document.documentElement.scrollHeight)
    };
}

function compareNum(x,minNum,maxNum){
 switch(true){
  case x<minNum:x=minNum;break;
  case x>maxNum:x=maxNum;break;
  default:x;
  }
  return x;
 }

box.style.left=‘100px‘
box.style.top=‘100px‘

box.onmousedown=function(e){
 var e=e||window.event;
 var maxL=getViewport().width-100,
     maxT=getViewport().height-100;
  this.startL=parseInt(this.style.left);
  this.startT=parseInt(this.style.top);
  //alert(e.clientX)
  this.startX=e.clientX;
  this.startY=e.clientY;
 //alert(maxL+‘:‘+maxT+‘:‘+L+‘:‘+T)
 doc.onmousemove=function(e){
  posXY(e,0,0,maxL,maxT);
 };
 doc.onmouseup=function(){
    doc.onmousemove=null;
  doc.onmouseup=null;
 };
 return false;
}
function posXY(e,minL,minT,maxL,maxT){
    var e=e||window.event;
 var x=box.startL-(box.startX-e.clientX);
 var y=box.startT-(box.startY-e.clientY);
 box.style.left=compareNum(x,minL,maxL)+‘px‘
 box.style.top=compareNum(y,minT,maxT)+‘px‘
}

</script>

</body>
</html>
时间: 2024-08-05 07:45:25

支持谷歌浏览器下鼠标拖动和拖拽的鼠标指针特效的相关文章

js拖拽——将鼠标事件响应范围扩大到整个系统桌面

起因: 最近在做一个可拖拽的拓扑图,遇到的这个问题:如果执行拖拽操作的时候鼠标拖动很快,可能会出现鼠标脱离页面乃至浏览器的范围,如果这时松开鼠标按键,那么将不能响应鼠标的onmouseup事件,从而导致onmouseup和onmousemove事件不能被释放掉. 对于这个问题,网上很多相似的文章写了解决办法,但都有些毛病,我在这里总结归纳一下. 解决办法: 方案一:针对ie和火狐浏览器 ie浏览器和Firefox提供了setCapture 和 releaseCapture函数来解决该问题.简单写

JAVA鼠标屏幕绘制拖拽删除矩形

import java.awt.Cursor; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import java.awt.geom.Point2D; import

jQuery可拖拽3D万花筒旋转特效

jQuery可拖拽3D万花筒旋转特效 这是一个使用了CSS3立体效果的强大特效,本特效使用jQuery跟CSS3 transform来实现在用户鼠标按下拖动时,环形图片墙可以跟随鼠标进行3D旋转动画. 效果体验:http://hovertree.com/texiao/jquery/92/ 进去后可以上下左右的拖动图片. 本示例中使用到了CSS3的transform-style 属性,该规定如何在 3D 空间中呈现被嵌套的元素. 默认值: flat继承性: no版本: CSS3JavaScript

超炫HTML5 SVG聊天框拖拽弹性摇摆动画特效

这是一款很有创意的HTML5 SVG聊天框拖拽弹性摇摆动画特效. 用户能够用鼠标点击或用手滑动聊天框上的指定区域,该区域会以很有弹性的弹簧效果拉开聊天用户列表.点击一个用户头像后.又以同样的弹性特效切换到聊天界面,而且用户头像会移动到聊天界面的右上角.整个动画弹性十足,效果很震撼. 效果演示:http://www.htmleaf.com/Demo/201506031963.html 下载地址:http://www.htmleaf.com/html5/SVG/201506031962.html

div拖动(拖拽图片验证码部分代码)

在underside中拖动redbox,box和redbox的横坐标一致 1 <!doctype html> 2 <html lang="en"> 3 <head> 4   5 <meta charset="UTF-8"> 6 <title>拖拽</title> 7 8 <style> 9 #outside { 10 border: 1px solid #99CC00; 11 bac

JS 鼠标事件练习—拖拽效果

拖拽效果 HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>拖拽效果</title> <link rel="stylesheet" type="text/css" href="拖拽效果.css"> </head> <body> <div

0188 案例:模态框拖拽

弹出框,我们也称为模态框. ? 1.点击弹出层,会弹出模态框, 并且显示灰色半透明的遮挡层. ? 2.点击关闭按钮,可以关闭模态框,并且同时关闭灰色半透明遮挡层. ? 3.鼠标放到模态框最上面一行,可以按住鼠标拖拽模态框在页面中移动. ? 4.鼠标松开,可以停止拖动模态框移动 1.1.5 模态框拖拽案例分析 点击弹出层, 模态框和遮挡层就会显示出来 display:block; 点击关闭按钮,模态框和遮挡层就会隐藏起来 display:none; 在页面中拖拽的原理:鼠标按下并且移动, 之后松开

鼠标拖拽移动Java界面组件

默认的,Frame或者JFrame自身已经实现了鼠标拖拽标题栏移动窗口的功能. 只是,当你不满意java的JFrame样式,隐藏了标题栏和边框,又或者干脆直接使用JWindow,那你又该怎么实现鼠标拖拽移动窗口的目的呢?最开始,我简单的在mouseDragged方法里frame.setLocation(e.getX(), e.getY()),结果,frame拖拽的时候不停地闪烁,位置在屏幕上不断跳动.后来网上查资料,找到了答案. 这里给一个简单的示例,一看就明白: 1 package com.j

03JavaScript程序设计修炼之道_2019-07-02_21-47-36_ 鼠标弹起拖拽、放大镜、mouseenter&amp;mouseleave、

26drag.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatib