html 拖拽坐標,Html+css實現拖拽導航條

div橫向拖拽排序

body, div {

padding: 0px;

margin: 0px;

}

.box {

position: relative;

margin-left: 15px;

padding: 10px;

padding-right: 0px;

width: 810px;

border: blue solid 1px;

}

.box ul{

list-style: none;

overflow: hidden;

padding: 0;

margin:0;

}

.drag {

float: left;

border: #000 solid 1px;

text-align: center;

}

.box ul li a{

display: block;

padding: 10px 25px;

}

.drag-dash {

position: absolute;

border: #000 solid 1px;

background: #ececec;

}

.dash {

float: left;

border: 1px solid transparent;

}

div橫向拖拽排序

  • 導航一
  • 導航二導航
  • 導航導航導航三
  • 導航導航四
  • 導五

$(document).ready(function () {

var range = {x: 0, y: 0};//鼠標元素偏移量

var lastPos = {x: 0, y: 0, x1: 0, y1: 0}; //拖拽對象的四個坐標

var tarPos = {x: 0, y: 0, x1: 0, y1: 0}; //目標元素對象的坐標初始化

var theDiv = null, move = false;

var choose = false; //拖拽對象拖拽狀態選中狀態

var theDivId = 0, theDivHeight = 0, theDivHalf = 0;

var tarFirstY = 0; //拖拽對象的索引、高度、的初始化。

var tarDiv = null, tarFirst, tempDiv; //要插入的目標元素的對象,臨時的虛線對象

var initPos = {x: 0, y: 0};

var theDivWidth;//拖拽對象的寬度

$(".drag").each(function () {

$(this).mousedown(function (event) {

choose = true;

//拖拽對象

theDiv = $(this);

//記錄拖拽元素初始位置

initPos.x = theDiv.position().left;

initPos.y = theDiv.position().top;

//鼠標元素相對偏移量

range.x = event.pageX - theDiv.position().left;

range.y = event.pageY - theDiv.position().top;

theDivId = theDiv.index();

theDivWidth = theDiv.width();

theDivHalf = theDivWidth / 2;

theDiv.removeClass("drag");

theDiv.addClass("drag-dash");

theDiv.css({left: initPos.x + 'px', top: initPos.y + 'px'});

//創建新元素插入拖拽元素之前的位置(虛線框)

$("

tempDiv = $(".dash");

$(".dash").css("width" , theDivWidth);

return false

});

});

$(document).mouseup(function (event) {

if (!choose) {

return false;

}

if (!move) {

//恢復對象的初始樣式

theDiv.removeClass("drag-dash");

theDiv.addClass("drag");

tempDiv.remove(); //刪除新建的虛線div

choose = false;

return false;

}

theDiv.insertBefore(tempDiv); //拖拽元素插入到虛線div的位置上

//恢復對象的初始樣式

theDiv.removeClass("drag-dash");

theDiv.addClass("drag");

tempDiv.remove(); //刪除新建的虛線div

move = false;

choose = false;

return false

}).mousemove(function (event) {

if (!choose) {return false}

move = true;

lastPos.x = event.pageX - range.x;

lastPos.y = event.pageY - range.y;

lastPos.x1 = lastPos.x + theDivWidth;

//拖拽元素隨鼠標移動

theDiv.css({left: lastPos.x + 'px', top: lastPos.y + 'px'});

//拖拽元素隨鼠標移動查找插入目標元素

var $main = $('.drag'); //局部變量:按照重新排列過的順序再次獲取各個元素的坐標,

$main.each(function () {

tarDiv = $(this);

tarPos.x = tarDiv.position().left;

tarPos.y = tarDiv.position().top;

tarPos.x1 = tarPos.x + tarDiv.width() / 2;

tarFirst = $main.eq(0); //獲得第一個元素\

tarFirstX = tarFirst.position().left + theDivHalf; //第一個元素對象的中心縱坐標

//拖拽對象移動到第一個位置

if (lastPos.x <= tarFirstX) {

tempDiv.insertBefore(tarFirst);

}

//判斷要插入目標元素的坐標后,直接插入

if (lastPos.x >= tarPos.x - theDivHalf && lastPos.x1 >= tarPos.x1) {

tempDiv.insertAfter(tarDiv);

}

});

return false

});

});

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534732.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534732.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534732.shtml

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

相關文章

seata 如何開啟tcc事物_微服務分布式事務4種解決方案實戰

分布式事務分布式事務是指事務的參與者&#xff0c;支持事務的服務器&#xff0c;資源服務器分別位于分布式系統的不同節點之上&#xff0c;通常一個分布式事物中會涉及到對多個數據源或業務系統的操作。典型的分布式事務場景&#xff1a;跨銀行轉操作就涉及調用兩個異地銀行服…

python redis 哨兵_Redis哨兵機制

概述上篇文章主要說了Redis 復制的內容&#xff0c;但 Redis 復制有一個缺點&#xff0c;當主機 Master 宕機以后&#xff0c;我們需要人工解決切換&#xff0c;比如使用slaveof no one 。實際上主從復制并沒有實現&#xff0c;高可用&#xff0c; 高可用側重備份機器&#xff…

labview自動生成html,使用LabVIEW實現網頁數據提取及交互.pptx

使用 LabVIEW 控制IE或WebBrowser實現網頁數據的提取和交互By GSD&#xff1a;attraction - 張生斌2013.1.11可能會遇到的問題網頁能否被程序控制&#xff0c;程序和網頁如何通信&#xff1f;如何下載網頁中我們所關注的數據&#xff1f;如何用程序修改網頁中表單的內容&#x…

pdf python定位_如何使用PyPDF2獲取PDF定位

我正在使用Python/Django。PyPDF2閱讀我目前的pdf。如何使用PyPDF2獲取PDF定位我想閱讀我已經保存的pdf文件&#xff0c;并獲得pdf內單頁的方向。我期望能夠確定頁面是橫向還是縱向。tempoutpdffilelocation settings.TEMPLATES_ROOT nameOfFinalPdfpageOrientation pageToE…

android 內容顯示欄,android – 在工具欄下顯示內容

您好我試圖簡單地將我的內容放在工具欄下面,但是當我運行我的應用程序時,當它應該低于它時,一些內容隱藏在它后面.我已經閱讀了關于使用框架布局來嘗試將其分開但我已經陷入困境.我目前正在使用隨軟件提供的基本android studio導航抽屜模板,并想知道我必須做出哪些更改.我的協調…

ios nslog 例子_iOS 典型內存泄露案例 - zhenshan2013的個人空間 - 51Testing軟件測試網 51Testing軟件測試網-軟件測試人的精神家園...

最近進行iOS 安全黑匣子的測試,在Demo中通過不斷的點擊調加密接口,同時通過蘋果自帶instrument的leak工具監控,發現典型的內存泄漏,監控圖如下:上圖中紅色的部分表示該操作觸發的代碼有內存泄漏的可能,于是拿出源代碼來研究一番,源代碼如下://加密接口-(IBAction)encrypt:(id)s…

HTML餅狀圖中心添加文字,echarts餅狀圖環形中間動態文字

let currName "";let myChart echarts.getInstanceByDom(document.getElementById(‘chart-panel‘));//console.log(myChart);myChart.on(‘mouseover‘, (params) >{currNameparams.name;console.log(params)let opmyChart.getOption();let _label{normal:{sho…

pos共識機制_OK區塊鏈60講 | 第17集:什么是PoS共識機制

什么是PoS共識機制https://www.zhihu.com/video/1196092110837805056《OK區塊鏈60講》是由OKEx&#xff06;新浪科技聯合出品的區塊鏈科普動畫視頻&#xff0c;針對區塊鏈零基礎用戶&#xff0c;通過系列文章、科普動畫等形式&#xff0c;從概念、技術、應用等角度&#xff0c;…

html溢出左右滾動,html-選項卡溢出時水平滾動

我在容器中有一個基本表。 該表將包含約25列。 我正在嘗試在表格溢出時添加水平滾動條&#xff0c;現在過得很艱難。現在正在發生的情況是&#xff0c;表格單元格通過自動調整單元格的高度并保持固定的表格寬度來容納單元格的內容。對于我的方法為何無法解決此問題的建議&#…

大疆無人機android登錄閃退,你的DJI APP閃退了嗎?附官方解決方案

原標題&#xff1a;你的DJI APP閃退了嗎&#xff1f;附官方解決方案今天&#xff0c;很多飛友反應&#xff0c;在使用大疆無人機過程中出現DJI APP閃退情況。隨后在大疆社區官方給出了解決方案&#xff0c;如下&#xff1a;關于DJI GO 4 APP閃退解決方案目前關于DJI GO4 APP閃退…

ps導出gif顏色不對_PS基礎知識(1)

視圖平移命令&#xff1a;1,使用工具箱中的抓手工具或著&#xff08;H&#xff09;2按住空格鍵&#xff0c;上下左右移動視圖。&#xff08;常用方法&#xff09;圖像格式PSD&#xff1a;原始的圖像文件&#xff0c;包含所有的 Photoshop 處理信息&#xff0c;如圖層&#xff0…

html如何設置鼠標選中狀態,怎么用CSS 設置 當鼠標移動到菜單時,該按鈕變色,鼠標點擊后,頁面停留在鼠標滑過時的狀態!!很急!...

用javascript就可以&#xff0c;基本代碼在下面&#xff0c;你自己照著改吧htmlheadmeta http-equivContent-Type contenttext/html;charset gb2312 //headbodyscript typetext/javascriptfunction changeA(){document.getElementById(menuA).style.background#f00;document.g…

python中難的算法_Python算法很難嗎?python神書《算法圖解》PDF電子版分享給你

許多小伙伴后臺私信說&#xff0c;python算法讓自己很頭疼&#xff0c;有沒有可以讓算法像小說一樣有趣的書籍資料呢&#xff1f;看這里吧&#xff01;小宋為大家找到了這本《算法圖解》的PDF電子版&#xff01;讓你在學習python的路上變得輕松有趣&#xff01;內 容 提 要本書…

音樂分享 html,支付寶朋友圈可以分享音樂嘛

打開手機&#xff0c;找到手機里面的支付寶應用點擊進入在進入的支付寶界面里&#xff0c;選擇底下的朋友點擊進入在彈出的朋友界面選擇生活圈選擇生活圈下方的朋友動態進到朋友動態界面&#xff0c;點擊右上角的照相機圖標支付寶 怎么發朋友圈動態&#xff1f;進入支付寶頁面中…

eplan單線原理圖多線原理圖_EPLAN-黑盒-2

3、黑盒的功能定義制作完成的黑盒僅僅圖形化描述了一個變頻器&#xff0c;它實現邏輯上的智能了嗎&#xff1f;雙擊黑盒彈出屬性標簽&#xff0c;它的主標簽還是現實黑盒&#xff0c;如圖&#xff0c;圖形和邏輯還沒匹配。因此&#xff0c;必須為它重新定義功能。EPLAN的功能定…

html圖片熱點新窗口,HTML基礎必看---表單,圖片熱點,網頁劃區和拼接詳解

html表單里面的圖片點擊相應圖片跳轉到本頁其他去在表格里面選了這個 鼠標點擊一下跳轉到相應區塊 代碼要怎么寫&#xff0c;夜影驅動編程小編今天和大家分享大神需要在一張圖片上設置多個能點擊跳轉的鏈接區域時&#xff0c;推薦使用網頁的熱點鏈接。 參考代碼如下&#xff1a…

ios 點擊出現另外一套tabbar_IOS 點擊tabbaritem跳轉到一個新界面,且隱藏tabbar

先自定義一個UITabbarController&#xff0c;用于Storyboard中再在MyTabbarController中實現protocolinterface MyTabbarController : UITabBarController end再實現代理里面的方法implementation MyTabbarController- (BOOL)tabBarController:(UITabBarController *)tabBarCon…

viewpage 去掉左右切換效果_ViewPager實現多頁面切換以及動畫效果

作者寫的非常詳細&#xff0c;在此贊一下。尤其畫圖示意計算。常看代碼不知coder數字的含義&#xff0c;看此博文無此感。我只在此列出流程和需要注意的點。步驟1&#xff1a;導入android-support-v4.jar包兩種方法(升級到adt17 后需要注意的問題)a&#xff0c; 新建libs文件夾…

獲取html內標題,通過html敏捷包獲取標題標簽

我正在嘗試使用htmlagility pack來獲得結果的鏈接和結果我有這個代碼using HtmlAgilityPack;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Net;using …

html視頻播放div,打造自己的html5視頻播放器

推薦這篇文章遇新是直朋能到&#xff1a;前段時間重新少端原碼動近基開創學畫近基開創學畫近基開學習了一下html5的video部分&#xff0c;以前只是停留在標簽的使用上&#xff0c;這一次決定深入了解相關的API&#xff0c;并運用這些API打造一個簡單的視頻播放器。所謂“打造自…