js或jq,怎样让以下拖动效果,保持在黑色的框内?
发布网友
发布时间:2022-05-21 14:30
我来回答
共1个回答
热心网友
时间:2023-08-25 08:53
已完成,复制粘贴,采纳即可
<!DOCTYPE HTML>
<html>
<head>
<meta charset=UTF-8>
<title>recursion</title>
<style type="text/css">
#main {
width: 1000px;
height: 600px;
border: 1px solid #000;
}
#main div {
position: absolute;
width: 220px;
height: 150px;
border: 1px solid #999;
}
</style>
<script type="text/javascript">
var a;
document.onselectstart = document.ondragstart = document.oncontextmenu = function ()
{
return false;
};
document.onmouseup = function ()
{
if (!a)
return;
document.all ? a.releaseCapture () : window.captureEvents (Event.MOUSEMOVE | Event.MOUSEUP);
a = "";
};
document.onmousemove = function (d)
{
if (!a)
return;
if (!d)
d = event;
var x = d.clientX - b;
var y = d.clientY - c;
x = x < $ ('main').offsetLeft ? $ ('main').offsetLeft : x;
x = x > $ ('main').offsetLeft + $ ('main').offsetWidth - a.offsetWidth ? $ ('main').offsetLeft
+ $ ('main').offsetWidth - a.offsetWidth : x;
y = y < $ ('main').offsetTop ? $ ('main').offsetTop : y;
y = y > $ ('main').offsetTop + $ ('main').offsetHeight - a.offsetHeight ? $ ('main').offsetTop
+ $ ('main').offsetHeight - a.offsetHeight : y;
a.style.left = x + "px";
a.style.top = y + "px";
};
function move (o, e)
{
a = o;
document.all ? a.setCapture () : window.captureEvents (Event.MOUSEMOVE);
b = e.clientX - parseInt (a.style.left);
c = e.clientY - parseInt (a.style.top);
o.style.zIndex = getMaxIndex () + 1;
}
function $ (id)
{
return document.getElementById (id);
}
function getMaxIndex ()
{
var index = 0;
var ds = $ ('main').getElementsByTagName ('div');
var l = $ ('main').getElementsByTagName ('div').length;
for (i = 0; i < l; i++)
{
if (ds[i].style.zIndex > index)
index = ds[i].style.zIndex;
}
return index;
}
</script>
</head>
<body>
<div id="main">
<div style="left: 100px; top: 100px; background: #fc9;" onmousedown="move(this,event)">1</div>
<div style="left: 400px; top: 100px; background: #9cf;" onmousedown="move(this,event)">2</div>
<div style="left: 700px; top: 100px; background: #f9c;" onmousedown="move(this,event)">3</div>
</div>
</body>
</html>
js或jq多个父层内拖动怎样实现?
height: 300px;border: 2px inset #fff;background: #fff;position: relative;overflow: hidden;}function Drag (title, body, range) { var w = window, win = body || title, x, y, _left, _top, range = range || function (x) { return x; }; title.style....
使用js或jq控制一个div,当滚动到页面顶部的时候固定在顶部,离开可继续...
展开全部 代码:\x0d\x0a•$(function(){\x0d\x0a\x0d\x0a•//获取要定位元素距离浏览器顶部的距离\x0d\x0a\x0d\x0a•var navH = $(".nav").offset().top;\x0d\x0a\x0d\x0a•//滚动条事件\x0d\x0a\x0d\x0a•$(window).scroll(function(){\x0d\x0a\x0d\x...
用js或者jq实现,根据下拉菜单的字段来显示对应的内容?
在下拉菜单的change事件中,获得当前选择班级的标识,再从数据源中匹配这个标识的班级数据并展示 一班 二班 三班 var data = { '一班': '张三,李四', '二班': '周五,郑六', '三班': '田七,王八' }; //js document.getElementById("class"...
当多复选框的其中一个被选中时,立即触发一个效果,用js或者jquery...
jq代码。("input[type='checkbox']").click(function(){ if( $("input[type='checkbox']:checked").length>0){ //当复选框选中值大于0,触发一个效果 }else{ //否则,效果消失。} })如果不是你要的效果,追问
请问怎么样实现以下效果,用js或者jq都可以,不用jq插件
中间几个小圆点 就是 设置rgba 给个radius;中间大图:同样的尺寸,全部排成一列 左浮动,外面的套div 多余部分隐藏;每触发 一次移动相应的尺寸;自己计算去;下面的小图 就是给的透明度,rgba什么的 跟蒙上一层纱布是的;然后css有个属性 旋转多少度;你在js写的 无非就是 鼠标移动到小圆圈上...
js或jq如何实现点击一个a标签,弹出对话框,并且对话框几秒后自动...
显示的对话框 点击 相信给showId加上浮动,你应该能搞定,然后就是JS了,jQuery jQuery("#clickDiv").click(function(){ //点击clickDiv jQuery("#showId").show(); //显示showId setTimeout(jQuery("#showId").hide(), 3000); //3秒后关闭showId });你可以试试!我没测试,不过这个很...
用原生JS,怎样实现的页面中所有a标签都在新窗口中打开
1、根据标签a获取所有标签 var aList = document.getElementsByTagName('a');//获取所有的标签a2、循环获取的标签,修改target为_blank(新窗口)方式。for(var i=0;i
【在线等】如何用JQ或者JS完成ID分行淡入的效果
setInterval 定时执行jq的函数
js或者jq点击按钮弹出一个对话框里面有input,填写后返回页面显示填写的...
onclick="disp_prompt()" value="显示一个提示框" /> 注意事项:JS是javascript的缩写,是一种用于web开发的脚本代码。打开任何网页,右键点击查看源代码,开始是javascript代码JQ是JQuery的缩写,是将一些强大的JS代码写进一个文件中,可以通过参考JQ实现更简单方便的JS使用。
js和jq的主要区别是怎么样的?
如果javascript是面粉,jQuery就是方便面。如果javascript是水泥,jQuery就是水泥预制板。jQuery只是采用了更简单,更明了,但不太常用的javascript语法,写成了一套javascript函数库,或者叫类库或者框架。使用jQuery这样的半成品比从零开始写javascript更快捷,更方便。就像泡方便面比做碗面条容易多了。