dom 绘制正方形

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
window.onload = function ()
{
    var odiv = document.getElementById(‘wrap‘);

    odiv.onmousedown = function (ev)
    {
        var ev = ev || event;
        var L1 = ev.clientX - odiv.offsetLeft
        var T1 = ev.clientY - odiv.offsetTop;

        var oadd = document.createElement(‘div‘);

        if(odiv.setCapture)
        {
            odiv.setCapture();
        }
        odiv.appendChild(oadd);

        document.onmousemove = function (ev)
        {
            var ev = ev || event;
            var L2 = ev.clientX - odiv.offsetLeft
            var T2 = ev.clientY - odiv.offsetTop;

            L2 = L2 < 0 ? 0 : L2;
            L2 = L2 > odiv.clientWidth ? odiv.clientWidth : L2;
            T2 = T2 < 0 ? 0 : T2;
            T2 = T2 > odiv.clientHeight ? odiv.clientHeight: T2;
            oadd.style.cssText = ‘border: 1px solid red;‘
            oadd.style.left = L1 < L2 ?(L1 + ‘px‘):(L2 + ‘px‘);
            oadd.style.top = T1 > T2 ? (T2 + ‘px‘):(T1 + ‘px‘);
            oadd.style.width = Math.abs(Math.abs(L1 - L2)-2) + ‘px‘;
            oadd.style.height = Math.abs(Math.abs(T1 - T2)-2) + ‘px‘;
        };
        document.onmouseup = function ()
        {
            document.onmousemove = document.onmousedown = null;
            if(odiv.releaseCapture)
            {
                odiv.releaseCapture();
            }
        }
        return false;
    };

};
</script>
<style>
body {
    margin:0px;
    padding:0px;
    }
#wrap {
    width: 700px;
    height: 500px;
    border: 1px solid #000;
    margin: 60px auto 10px;
    position: relative;
}
#wrap div{
    position:absolute;
    }
p {
    text-align: center;
    margin: 0px;
    padding: 10px;
    }
</style>
</head>

<body>
<div id="wrap">
</div>
<p>可以在上面的方框中任意拉出方块</p>
</body>
</html>
时间: 2025-01-02 04:26:22

dom 绘制正方形的相关文章

openGL绘制正方形

/** * 缓冲区工具类 */public class BufferUtil { /**  * 将浮点数组转换成字节缓冲区  */ public static ByteBuffer arr2ByteBuffer(float[] arr){  ByteBuffer ibb = ByteBuffer.allocateDirect(arr.length * 4);  ibb.order(ByteOrder.nativeOrder());  FloatBuffer fbb = ibb.asFloatBu

继承View绘制正方形且360旋转

1 import android.content.Context; 2 import android.graphics.Canvas; 3 import android.graphics.Color; 4 import android.graphics.Paint; 5 import android.util.AttributeSet; 6 import android.view.View; 7 8 public class RotatingRect extends View { 9 11 pr

Android OpenGL入门示例:绘制三角形和正方形 (附完整源码)

Android上对OpenGl的支持是无缝的,所以才有众多3D效果如此逼真的游戏,在Camera的一些流程中也有用到GLSurfaceView的情况.本文记录OpenGL在Android上的入门级示例,绘制一个三角形和正方形.尽管功能简单,可是我捣腾了好几个晚上,大量网上文章上的代码都有点问题,不是绘制不出来就是挂了. 第一个文件:MainActivity.java package com.example.learnopengl1; import android.opengl.GLSurface

HTML5之Canvas画正方形

1.设计源码 <!DOCTYPE html> <head> <meta charset="utf-8" /> <title>HTML5之Canvas画正方形</title> <script type="text/javascript"> function drawFour(id) { //获取canvas元素 var canvas = document.getElementById("

Quartz2D复习(一)--- 基础知识 / 绘制线段圆弧 / 图片水印 / 截图

1.Quartz 2D是一个二维绘图引擎,同时支持ios和Mac系统: Quart2D的API是纯C语言的,API来自于Core  Graphics框架: 2.Quartz 2D可以绘制图形(线段/三角形/矩形/圆和弧).绘制文字.绘制和生成图片.读取/生成pdf.截图/裁剪图片.自定义UI控件等 3.对于界面复杂且个性化的UI,普通的UI控件无法实现,而Quartz2D技术却可以通过自定义UI控件来实现.其实,ios中大部分控件的内容都是通过Quart2D画出来的 4.图形上下文(Graphi

OpenGL学习(一)一个简单的绘制矩形程序

一段简单的绘制正方形的程序: #include <gl/glut.h> void display() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glVertex2f(-0.5,-0.5); glVertex2f(-0.5,0.5); glVertex2f(0.5,0.5); glVertex2f(0.5,-0.5); glEnd(); glFlush(); } int main(int argc,char**argv) { glu

android开发步步为营之58:给图片绘制圆形气泡背景效果

最近在开发项目的时候,有一个需求,需要给应用图标绘制圆形气泡背景,有了彩色气泡这样显得漂亮一点,气泡的颜色是应用图标的颜色均值,先看看效果,然后,我再给出demo. demo应用图标是这样的: 添加气泡背景后是这样的: 仔细看圆形背景颜色是图标颜色的均值. 好的,下面我们来完成这个demo. 第一步.编写页面activity_drawcycle.xml <?xml version="1.0" encoding="utf-8"?> <LinearLa

css3绘制各种图形效果

如何使用CSS来制作图形,比如说圆形,半圆形,三角形等.今天我特意在网上查阅了一下,介绍这样的教程还是蛮多的,因此我也决定整理一份相关教程出来与大家一起分享. 很少会有人意识到,当浏览器绘制的border,会有一个角度的问题.我们就是得用这样的一个技巧来制作三角的效果.我们只需要保证一边的边框是有色,其他边框色为透明色,这样我们就很容易制作出三角形,然后改变其大小来实现不同的效果.我们一起来看一段代码: 1 2 3 4 5 6 7 .css-arrow-multicolor { border-c

javascript与ECMAScript、DOM、BOM的关系

在初学javascript时,经常会看见javascript dom.ECMAScript等名词,一直不明白,今天查阅了一些资料和评论,简单写一下. JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象: DOM 描述了处理网页内容的方法和接口: BOM 描述了与浏览器进行交互的方法和接口. ECMAScript 先简单了解javascript的发展历史,在因特网发展的初期,为了减少客户端与服务器的交互(比如表单的验证一类),提高网上冲浪的效率,当时著名的Netsca