使用JS制作一个鼠标可拖的DIV(三)——移动带图片DIV

当DIV元素里,存在图片元素的时候,会使拖动出现异常。

因为图片元素本身就支持拖动,所以,只要在图片标签加入:draggable=‘false‘。

如下:

<div onmousedown="moveBind(this, event)" style="width:50px;height:50px; left:285px;top:370px; position:absolute;"><img src="http://pic.cnitblog.com/face/614265/20140725231849.png" draggable="false"></div>

增加动态增加元素:

    var containerId = "innerContainer";
    var showId = "idShow";
    var moveElement = "div";

    function addElement(obj) {
        var img = "<" + obj.tagName + " src=‘" + obj.src + "‘ draggable=‘false‘ />";

        var container = findPosition(document.getElementById(containerId));
        var containerLeft = container[0];
        var containerTop = container[1];
        var containerWidth = container[4];
        var containerHeight = container[5];

        var left = containerLeft + containerWidth / 2 - obj.offsetWidth / 2;
        var top = containerTop + containerHeight / 2 - obj.offsetHeight / 2;

        $("#" + containerId).append("<div onmousedown=‘moveBind(this, event)‘ style=‘width:" + obj.offsetWidth + "px;height:" + obj.offsetHeight + "px; left:" + left + "px;top:" + top + "px; position:absolute;‘>" + img + "</div>");
    }
<div>
    <img src="http://pic.cnitblog.com/face/614265/20140725231849.png" style="width:50px; height: 50px;" onclick="addElement(this)" />
</div>
时间: 2025-01-05 02:46:33

使用JS制作一个鼠标可拖的DIV(三)——移动带图片DIV的相关文章

使用JS制作一个鼠标可拖的DIV(二)——限制区域移动

这次是要对上一篇的内容进行扩展. 由于需要对可拖动的 DIV 进行一个区域范围的限制,所以要给于一个容器,让可拖动的 DIV 元素不能逃出该容器的大小范围. 一.思路 1.在外层增加一个 DIV 容器,并设置好容器的大小.(即:宽和高) 当容器存在边框的时候,由于这里还没找到获取的方法,所以,在容器边框大于 0 的时候,获得的容器的限制区域的坐标会有误差. 为了避免这情况,可以在多加一次容器,有边框样式的在外层,无边框样子的在内层. 例: <style> #mainContainer { bo

使用JS制作一个鼠标可拖的DIV(四)——缩放

原理与鼠标拖动 DIV 相同. 下面就先实现一个在DIV的右上角显示一个小正方形(类似). 当鼠标按下并拖动时,DIV会以要拖动的元素的左下角的坐标点定位,根据鼠标的拖动,按比例的扩大或缩小. 一.思路 1.鼠标按时事件. 这里要初始化数据. 同移动一样,给小正方形绑定鼠标按时事件. (1)获得并保存要移动的元素(parent)的宽(parentWidth)与高(parentHeight). 即:元素缩放前的宽与高. (2)由于是要按比例缩放,所以,要在这时计算出宽与高的比例(scale),得到

用JS制作一个信息管理平台完整版

  前  言 JRedu 在之前的文章中,介绍了如何用JS制作一个实用的信息管理平台. 但是那样的平台功能过于简陋了,我们今天来继续完善一下. 首先我们回顾一下之前的内容.   1.JSON的基础知识 1.1  什么是JSON JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后,可以将JSON字符串,再解析为JSON对象. JSON对象的使用与JS中的对象基本相同,唯一需要区别的是,JSON中的键

【原创】js实现一个可随意拖拽排序的菜单导航栏

1.想做这个效果的原因主要是用在UC上看新闻发现他们的导航菜单很有趣.无聊的时候在哪划着玩了很久.所以就干脆自己写一个.原效果如下 2.整体效果如下,在已推荐和未添加里面每个小方块可以触摸移动位置互换.未添加和已添加里面的小方块位置可以拖放. 3.结构分析.整体结构用红线框标出.可以分为三个部分.关注底部拖拽部分.一个div里面嵌套两个div.定位关系如图.本次教程之作一个拖拽框 1.好了,基本情况已经分析清楚先实现页面样式. <div class="wrap"> <

JS制作一个创意数字时钟

通过js代码制作一个创意数字时钟 通过JS代码实现创意数字时钟效果如下:由数字化的卡通形象图片取代常规的数字显示当前实时北京时间.具体效果示例: 核心重点: (1)Date方法的初步了解 (2)构建模型,从特殊到一般. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>cnblog头部轮播图</title&

用js制作一个计算器

使用js制作计算器 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta n

用js写一个鼠标坐标实例

HTML代码 写一个div来作为鼠标区域 div中写一个span显示坐标信息 <body> <div id=""> <span></span> </div> </body> 给div和span增加样式并定位 <style type="text/css"> div{ position: relative;/* 定位信息 */ background-color: #398439; /*

用JS制作一个信息管理平台

首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后,可以将JSON字符串,再解析为JSON对象. JSON对象的使用与JS中的对象基本相同,唯一需要区别的是,JSON中的键,必须是字符串. 比如: var jsonObj = { "name":"zhangsan", "age":"12&q

js制作一个简单的选项卡

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>简单的选项卡</title> <style type="text/css"> #main{ height: 400px; width: 400px; margin: 20px auto; } #main>div{ height: 300px; width: 3