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.pswp.cn/news/272994.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272994.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272994.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iphone 抹除設備是什么意思_SMT設備有哪些,SMT是什么意思?

SMT設備其實就是表面貼裝技術所需要的機器&#xff0c;一般一條SMT整線常規包含以下設備&#xff1a;上板機、印刷機、接駁臺、SPI、貼片機、插件機、回流焊、波峰焊、AOI、X-ray、下板機等設備&#xff0c;以上設備是一條比較完整的smt配線清單設備&#xff0c;不同工廠可根據…

visual studio 安裝Entity framework失敗

今日通過Nuget安裝Entity Framwork 6.1.3時候在最后一步石一直報錯&#xff0c;提示“安裝失敗&#xff0c;正在回滾”。 回滾也就罷了&#xff0c;居然還卸載不了安裝了一半的EF。 shit 考慮是不是得用管理員模式run Visual Studio 試之&#xff0c;然并卵。 是不是Nuget版本太…

筆記本軟件頁面分辨率低_筆記本最容易忽略的屏幕 有幾個參數一定要知道

對于第一次購買筆記本的朋友來說&#xff0c;往往會忽視一個重要的硬件&#xff0c;那就是屏幕。尺寸有多大&#xff1f;分辨率是多少&#xff1f;色彩好不好&#xff1f;這些都應該是大家應該關心的問題。下面筆者就和大家聊聊筆記本屏幕應該注意的幾個參數。1、尺寸屏幕尺寸示…

html優美界面左側下拉,一組時尚的側邊欄菜單和下拉列表UI設計

這是一款非常時尚的可伸展的側邊欄菜單和select下拉列表以及手風琴式垂直下拉列表UI設計效果。它們通過簡單的CSS樣式設置&#xff0c;以及和jQuery&#xff0c;jqueryUI的配合&#xff0c;制作出非常時尚的web組件UI設計效果。制作方法HTML結構側邊欄的HTML結構使用在中嵌套無…

.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;…

navicat 或者workbench 無法連接127.0.0.1(61)的解決方法

1、輸入mysql -uroot 進入命令行模式, 2、輸入"show variables like %sock%;"查看sock文件所在位置 如&#xff1a; 3、配置客戶端&#xff08;以navicat為例&#xff09; &#xff08;1&#xff09;打開mac 下的navicat&#xff08;2&#xff09;建立相應的連接&…

jmeter如何定位網絡延時_JMeter用戶定義變量和properties變量高級使用

Jmeter有個配置元素叫做用戶自定義變量(英文名稱是UserDefinedVariables)而我們提到的vars即是Variables的簡寫。 之前我們也說到過Jmeter的腳本中(jsr223sampler或者beanshell編寫的腳本)使用varsput和varsget的操作(varsget和put的操作僅在threadgroup測試組線程中執行&#…

html5與跨平臺開發,HTML5應用與跨平臺應用開發

本課程將總體講解開發HTML5應用和跨平臺應用的方法&#xff0c;共分成三部分。第一部分為HTML5開發基礎&#xff0c;帶你分析并掌握多種移動開發技術和設計方式&#xff1b;第二部分為HTML5高級應用&#xff0c;講解在HTML5中調用其它應用或服務的方法&#xff1b;第三部分為跨…

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年廣西高考一分一段表排…

PV公式

IP(獨立IP)&#xff1a; 即Internet Protocol,指獨立IP數。00:00-24:00內相同IP地址之被計算一次。PV(訪問量)&#xff1a; 即Page View, 即頁面瀏覽量或點擊量&#xff0c;用戶每次刷新即被計算一次。UV(獨立訪客)&#xff1a;即Unique Visitor,訪問您網站的一臺電腦客戶端為…

csv文件 內容轉義_CSV文件如何同時轉義逗號和雙引號?

小編典典有幾個庫。這是兩個示例&#xff1a;阿帕奇共享郎包括一類特殊的逃避或UNESCAPE字符串(CSV&#xff0c;EcmaScript的&#xff0c;HTML&#xff0c;Java和JSON&#xff0c;XML)org.apache.commons.lang3.StringEscapeUtils 。轉義 為CSVString escaped StringEscapeUti…

臺式計算機單核與雙核,什么是單核cpu、雙核cpu 單核cpu和雙核cpu的區別是什么...

在買電腦的時候&#xff0c;我們經常會發愁&#xff0c;究竟是買單核cpu好&#xff0c;還是買雙核cpu比較好&#xff0c;尤其是面對售貨員把單核cpu電腦和雙核cpu電腦都可以夸的天花亂墜的時候&#xff0c;我們更糊涂了&#xff0c;究竟買哪種好呢?針對這種情況&#xff0c;小…

當用DJANGO的migrate不成功時。。。。

URL:http://my.oschina.net/u/862582/blog/355421 因為操作SQL數據庫時不規范&#xff0c;或是多人開發時產生了同步問題&#xff0c;就可能導致正規的MIGRATE時不能完成。 已其修改&#xff0c;不如直接生成SQL之后運行。。 記住語法即可。。。 python manage.py sqlmigrate a…