html在线拖拽环绕,jQuery实现html元素拖拽

代码很简单,效果非常棒,直接给大家上源码:

html

定投金额 :

100

500

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

单位:元

css

.money-input{margin:36px auto 0;width:330px;font-size:14px;color:#818181}

.input-rela{width:250px;height:42px;display:inline-block;position:relative}

.input-rela>input{width:inherit;height:38px;border:1px solid #eee}

.input-rela>span{position:absolute;right:10px;top:13px}

.money-line{width:970px;margin:60px auto 0;position:relative}

.line3{position:absolute;left:40px;top:10px}

.red-rela{position:absolute;top:0;z-index:2;cursor:pointer}

.money-desc,.month-desc{font-size:12px;color:#818181}

.money-desc+p,.month-desc+p{margin-right:60px;text-align:right;color:#5a5a5a}

.money-desc>span{display:inline-block;width:71px}

.month-desc>span{display:inline-block;width:79px}

js

/**

* Created by cq on 2015/6/15.

*/

$(function(){

$('.js-minus').click(function(){

/* min need calculate*/

var index = $(this).attr("index")

var move,min;

if(index=="js-minus-a"){

move = 77;

min = 34;

}

if(index=="js-minus-b"){

move = 85;

min = 36;

}

var redPoint = $(this).next()

var left = redPoint.css("left")

var leftInt = left.replace(/px/g,"")

if((parseInt(leftInt)-move)>=min){

var newLeft = (parseInt(leftInt)-move)+"px"

redPoint.css("left",newLeft)

var num = parseInt ( (parseInt(leftInt)-move-min) / move )

var input = $(this).parent().prev().find("input")

if(index=="js-minus-a"){

var spans = $(this).parent().next().find("span")

var html = spans.eq(num).html()

input.val(html)

}

if(index=="js-minus-b"){

input.val(getMonth(num))

}

}

})

$('.js-plus').click(function(){

/* max and min need calculate*/

var index = $(this).attr("index")

var move , max , min ;

if(index=="js-plus-a"){

move = 77; //ÿ��ƫ����

max = 881; //��������

min = 34; //��Сƫ����

}

if(index=="js-plus-b"){

move = 85;

max = 886;

min = 36;

}

var redPoint = $(this).prev().prev()

var left = redPoint.css("left")

var leftInt = left.replace(/px/g,"")

if((parseInt(leftInt)+move)<=max){

var newLeft = (parseInt(leftInt)+move)+"px"

redPoint.css("left",newLeft)

var num = parseInt( (parseInt(leftInt)+move-min) / move )

var input = $(this).parent().prev().find("input")

if(index=="js-plus-a"){

var spans = $(this).parent().next().find("span")

var html = spans.eq(num).html()

input.val(html)

}

if(index=="js-plus-b"){

input.val(getMonth(num))

}

}

})

/*move img js*/

var offsetx = 0, offsety = 0;

var dragImg = document.getElementById("dragImg")

dragImg.addEventListener("mousedown",beforeDrag,true);

})

function beforeDrag(ev){

dragImg = ev.target;

var l = dragImg.offsetLeft;

var t = dragImg.offsetTop;

offsetx = ev.clientX - l;

offsety = ev.clientY - t;

}

function drag(e){

e.preventDefault();

/*min need calculate*/

var ml = 8,mr = 20,maxy = 70,moveWidth = 77,min=34;

var dragImg = e.target;

var dragLine = document.getElementById("dragLine");

var movex = e.clientX - offsetx;

var movey = e.clientY - offsety;

var minPY = dragLine.offsetLeft-ml;

var maxPY = dragLine.offsetLeft+dragLine.clientWidth-mr;

if(Math.abs(movey)>maxy){

return

}

if(movex

dragImg.style.left = minPY + "px";

return

}

if(movex>maxPY){

dragImg.style.left = maxPY + "px";

return

}

dragImg.style.left = movex + "px";

}

function dragEnd (e){

e.preventDefault();

/*min need calculate*/

var ml = 8,mr = 20,maxy = 70,moveWidth = 77,min=34;

var dragImg = e.target;

var dragLine = document.getElementById("dragLine");

var movex = e.clientX - offsetx;

var movey = e.clientY - offsety;

var minPY = dragLine.offsetLeft-ml;

var maxPY = dragLine.offsetLeft+dragLine.clientWidth-mr;

if(movex

dragImg.style.left = minPY + "px";

$(dragImg).parent().prev().find("input").val(100)

return

}

if(movex>maxPY){

dragImg.style.left = maxPY + "px";

$(dragImg).parent().prev().find("input").val(10000)

return

}

/*dragEnd xifu*/

var num = parseInt ( movex / moveWidth )

dragImg.style.left = (min+moveWidth*num) + "px";

/*dragEnd set input*/

var thisNode = $(dragImg)

var spans = thisNode.parent().next().find('span')

var html = spans.eq(num).html()

var input = thisNode.parent().prev().find("input")

input.val(html)

}

/*

function init() {

document.body.onmousemove = function(e) {

if (!e) {

e = window.event;

}

else {

e.srcElement = e.target;

}

document.getElementById("divDebug").innerHTML = "mousemove (" + e.clientX + "," + e.clientY + ") srcElement=" + e.srcElement.tagName + "[" + e.srcElement.id + "]";

}

}*/

以上所述就是本文的全部内容了,希望大家能够喜欢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iphone 抹除设备是什么意思_SMT设备有哪些,SMT是什么意思?

SMT设备其实就是表面贴装技术所需要的机器&#xff0c;一般一条SMT整线常规包含以下设备&#xff1a;上板机、印刷机、接驳台、SPI、贴片机、插件机、回流焊、波峰焊、AOI、X-ray、下板机等设备&#xff0c;以上设备是一条比较完整的smt配线清单设备&#xff0c;不同工厂可根据…

笔记本软件页面分辨率低_笔记本最容易忽略的屏幕 有几个参数一定要知道

对于第一次购买笔记本的朋友来说&#xff0c;往往会忽视一个重要的硬件&#xff0c;那就是屏幕。尺寸有多大&#xff1f;分辨率是多少&#xff1f;色彩好不好&#xff1f;这些都应该是大家应该关心的问题。下面笔者就和大家聊聊笔记本屏幕应该注意的几个参数。1、尺寸屏幕尺寸示…

.NET基础 (03)生成、部署和管理

生成、部署和管理1 如何生成强签名的程序集2 如何把程序集放入GAC中3 延迟签名及其作用4 程序集的版本分哪几部分 1 如何生成强签名的程序集在生成程序集时&#xff0c;CLR提供了两种可选类型&#xff1a;强签名程序集。弱签名程序集。 强签名程序集是一个带有公钥和数字签名的…

.net 识别一维码_天若OCR文字识别 v5.0 原创好用的OCR及翻译小工具

一款非常好用的OCR及翻译小工具&#xff0c;集合百度、腾讯、有道、搜狗&#xff0c;调用了各大网站的ocr接口&#xff0c;免费不限次数(有道免费接口有ip限制仅供娱乐)。1、对于搜狗的接口调用的还是http://ocr.shouji.sogou.com/v2/ocr/json&#xff0c;这个接口识别效果很好…

html中div中加颜色,css怎样给div加边框颜色

css怎样给div加边框颜色1、css为div四个边分别添加边框border-color:#000(设置4边边框颜色为黑色)border-color:颜色值&#xff0c;即可设置对象边框颜色border-left-color:#000 设置左边框颜色为黑色border-right-color:#000 设置右边框颜色为黑色border-top-color:#000 设置上…

Microsoft Dynamics CRM 前瑞开发

做CRM开发最大的感受就是其前瑞开发过程中&#xff0c;调试起来比较麻烦&#xff0c;需要做一些断点还要配制一些浏览器设置&#xff0c;对新手来说比较困难。还有就是对REST调试&#xff0c;经常为了调试一个正确的结果而花费大量的时间。现在推荐一个REST 工具来调试CRM的前瑞…

割线法求解过程_求解稀疏优化问题2——临近点方法+半光滑牛顿法

这篇文章是我之前一篇文章的兄弟篇&#xff0c;没看过的可以看下面这个。邓康康&#xff1a;求解稀疏优化问题——半光滑牛顿方法​zhuanlan.zhihu.com我们考虑的问题仍然是如下的一般问题&#xff1a;其中 ,并且 特别大&#xff1b;表示一个凸可微函数&#xff0c;例如 表示一…

html 树形图可拖拽,HTML5拖拽API实现vue树形拖拽组件

因业务场景需要一个可拖拽修改节点位置的树形组件&#xff0c;因此动手撸了一个&#xff0c;乘此机会摸了一把html5原生拖拽。近期有时间将核心部分代码抽出&#xff0c;简单说下实现方式。1.树形结构-组件递归使用树形结构非常简单&#xff0c;tree组件作为父组件&#xff0c;…

jmeter如何定位网络延时_JMeter用户定义变量和properties变量高级使用

Jmeter有个配置元素叫做用户自定义变量(英文名称是UserDefinedVariables)而我们提到的vars即是Variables的简写。 之前我们也说到过Jmeter的脚本中(jsr223sampler或者beanshell编写的脚本)使用varsput和varsget的操作(varsget和put的操作仅在threadgroup测试组线程中执行&#…

jQuery中的几个模块总结

Query插件&#xff0c;以备并希望在前端方面有所长进。请批评指正。 一&#xff0c;类型判断全解 JQuery判断类型扩展方法&#xff1a;$.type() 1 /*type: function( obj ) { 2 if ( obj null ) { 3 return obj ""; 4 } …

python实现连续数列相加_技术 | Python经典面试题解析实现斐波那契数列

黑马程序员微信号&#xff1a;heiniu526传智播客旗下互联网资讯&#xff0c;学习资源免费分享平台大家在面试过程中经常会考到斐波那契数列&#xff0c;斐波那契数列(Fibonacci)最早由印度数学家Gopala提出&#xff0c;而第一个真正研究斐波那契数列的是意大利数学家 Leonardo …

广西2021高考成绩位次查询,2020年广西高考一分一段表及高考位次成绩排名查询(理科+文科)...

一、2020年广西高考一分一段表查询排名方法广西招办(考试院)会公布的省市高考每一分分数的考生数额统计表就是我们所说的——高考“一分一段表”&#xff0c;其显示出每一分的分数值全省考生有多少名&#xff0c;就可以让考生估算出自己的排名位次。2020年广西高考一分一段表排…

台式计算机单核与双核,什么是单核cpu、双核cpu 单核cpu和双核cpu的区别是什么...

在买电脑的时候&#xff0c;我们经常会发愁&#xff0c;究竟是买单核cpu好&#xff0c;还是买双核cpu比较好&#xff0c;尤其是面对售货员把单核cpu电脑和双核cpu电脑都可以夸的天花乱坠的时候&#xff0c;我们更糊涂了&#xff0c;究竟买哪种好呢?针对这种情况&#xff0c;小…

美国计算机生物学要求,美国大学CS专业分支生物信息学和计算生物学专业 Bioinformatics and Computational Biology介绍...

美国留学申请美国大学计算机专业(CS)的学生非常多。美国大学CS专业的研究分支也非常 多&#xff0c;不同分支对学生的要求也会不同&#xff0c;因此&#xff0c;学生们要根据自己的条件选择适合自己的研究方向。下面主要为大家介绍的是美国大学CS专业分支生物信息学和计算生物学…

Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介

【注】该系列文章以及使用到安装包/测试数据 可以在《倾情大奉送--Spark入门实战系列》获取 1、机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义&#xff1a; l“机器学习是一门人工智能的科学&#xff0c;该领域的主要研究对象是人工智能&#xff0c…

计算机基础cpu知识,CPU基础知识: DIY装机小白必看的CPU知识扫盲

CPU也就是中央处理器&#xff0c;全拼为Central Processing Unit&#xff0c;在计算机中可以比喻成人的大脑。它是一块超大规模的集成电路&#xff0c;是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。下面华强电子网的小编分享一…

mvc html validator,ASP.NET MVC实现Validation验证器扩展

今天介绍在ASP.NET MVC实现Validation验证器扩展,通过使用Controller验证并不是最好的方法&#xff1a;验证过于分散&#xff0c;容易造成重复代码&#xff0c;不利于维护与扩展,因此本节将使用MVC默认绑定器(DefaultModelBinder)中包含了验证架构,并实现Validation验证器扩展&…

自定义列表视图

通过继承BaseAdapter写一个子类&#xff0c;可以创建自定义列表视图&#xff1a; public class MyListAdapter extends BaseAdapter { private LayoutInflater mInflater;//声明一个LayoutInflater类变量 private Context mContext;//声明一个Context类变量 priva…

springmvc请求返回一个字符_SpringMVC系列之Web利器SpringMVC

课程简介&#xff1a;课程目标&#xff1a;了解SpringMVC和Spring的关系&#xff0c;能够使用SpringMVC框架开发自己的Web应用。整合Spring , SpringMVC , MyBatis搭建项目开发环境&#xff0c;理解三层架构和MVC模式适用人群&#xff1a;适合对Java基础知识应用自如&#xff0…

一次完整较为渗透过程

步骤一&#xff1a; 利用阿D浏览器通过https&#xff1a;//s.bt.gg 注入关键字扫描发现注入点&#xff1a; http://www.rqyl.gov.cn/*****.php?ID153 用啊D跑不出账号密码 步骤二&#xff1a; 手工注入http://www.rqyl.gov.cn/*****.php?ID153 and 11 、and12出错 猜字段ht…