使用jquery.easydrag拖拽外掛的拖拽出界問題
在Iframe框架裡使用了jquery.easydrag.handler.beta2.js外掛,用來拖動DIV塊。
JS程式碼如下:
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.easydrag.handler.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#msgbox").easydrag(); $("#msgbox").setHandler("msgtitle"); }); </script>
HTML程式碼如下:
<div id='msgbox' style="width:300px;height:150px;solid:1px solid green;">
<div id='msgtitle' style="height:30px;">title</div>
msgbox content
</div>
出現問題:
沒有$("#msgbox").setHandler("msgtitle")這一句還好,多了這一句之後,拖拽DIV就沒了個範圍,也就是說可以把DIV無限制的往下拖或者往右拖,哪怕拖得文件出現空白窗口出現滾動條~
比如下圖:藍色塊本是iframe框架的最底部了,可是DIV竟可無限的往下拖拽,出現了一片預期之外的空白。
或許是因為iframe裡的頁面的body高度沒有限制吧,具體原因俺也沒弄清楚。
俺從外掛程式碼入手,修改了$.updatePosition()函式,限制拖動塊的位置不能超出iframe框的範圍.
修改後的程式碼如下:
$.updatePosition = function(e) { var pos = $.getMousePosition(e); var spanX = (pos.x - lastMouseX); var spanY = (pos.y - lastMouseY); var elemWidth = parseInt($(currentElement).css("width")); var elemHeight = parseInt($(currentElement).css("height")); var newElemTop = ((lastElemTop + spanY)>(document.body.offsetHeight-elemHeight))?(document.body.offsetHeight-elemHeight):(lastElemTop + spanY); var newElemLeft = ((lastElemLeft + spanX)>(document.body.offsetWidth-elemWidth))?(document.body.offsetWidth-elemWidth):(lastElemLeft + spanX); if(newElemTop<0)newElemTop=0; if(newElemLeft<0)newElemLeft=0; $(currentElement).css("top", newElemTop); $(currentElement).css("left", newElemLeft); };
相關推薦
Jquery Tdrag拖動外掛,拖動的div內有input或者select元素,元素內無法編輯或下拉問題解決
專案中需要點選一個按鈕,彈出一個對話方塊,由於對話方塊尺寸很大,顯示了很多東西,其實就是div設定了隱藏和顯示,所以為了讓低解析度的電腦也能方便的檢視內容,就想到能否有外掛支援拖動彈出的div,很幸運,前輩們已經有很多外掛,找到一款Tdrag,很好用,連結如下,使用也
使用jquery.easydrag拖拽外掛的拖拽出界問題
在Iframe框架裡使用了jquery.easydrag.handler.beta2.js外掛,用來拖動DIV塊。 JS程式碼如下: <script type="text/javascript" src="js/jquery.js"></script&
自定義Jquery拖拽外掛
新增節點,修改樣式 $("body").append("<div>123</div>"); $("body div").attr("id","box") $("body div").css({"background":"red","width"
自建JQuery拖拽外掛
最近由於業務需要,要有拖拽將頁面上控制元件進行一個排序的調整,網上找的控制元件大多不能完美達到預期效果,就自己做了一個小外掛,也記錄一下,畢竟是第一次寫js外掛 外掛程式碼: /** * Created by linxz on 2018/1/8. */ ;(functi
JQuery拖拽外掛使用及下載
16/07/08 UPDATE: A new beta version is now available with some bug corrections. Thanks to Randy for the useful feedback! 29/06/08 UPD
jquery實現對div的拖拽功能
func function .org absolut 移動 posit center sed fun <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o
前端拖拽外掛gridster.js介紹與使用示例
gridster.js是一款基於jquery的前端拖拽外掛,效果相當的不錯,大家可以先看看Demo(http://gridster.net/#intro)(藍色部分的白塊就是了,可以隨便拖動,娛樂性很強)。一、更多示例 gridster.js允許使用者做一些自定義
HTML5 CSS3 經典案例:無外掛拖拽上傳圖片 (支援預覽與批量) (一)
上傳基本是專案中經常出現的,一般採用:1、form提交 2、flash3、html5form提交會重新整理頁面,很難做到非同步上傳;flash可能是用得比較多了,因為可以兼顧到幾乎所有的瀏覽器,我之前一直會用jquery的uploadify作為專案中的上傳工具,uploadi
HTML5 CSS3 經典案例:無外掛拖拽上傳圖片 (支援預覽與批量) (二)
效果圖1:效果圖2:好了,請允許我把圖片貼了兩遍,方便大家看效果了~可以看出我們的圖片的li的html其實還是挺複雜的,於是我把html文件做了一些修改:<span style="font-size:12px;"><body> <div id="uploadBox"> &
js實現拖拽外掛
二、JavaScript實現原理簡述在AS3中,使用startDrag()就能實現拖拽,但是js中,卻沒有此方法,但是也是可以實現的,說穿了,挺簡單的。實現拖拽方法不少,我呢,js功力尚淺,只知道一種實現原理。如下:①滑鼠按下+滑鼠移動 → 拖拽②滑鼠鬆開 → 無拖拽③滑鼠偏移 → 拖拽距離用JavaScri
sortable圖片拖拽外掛
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xh
拖拽外掛使用說明
使用 初始化draggabilly為一個jQuery外掛 var $draggable = $('.draggable').draggabilly({ // 選項(配置)... })123 使用原生js初始化 var elem = document.querySel
詳細講解html5拖拽和拖放技術的區別及優勢
提到拖拽,我們都很熟悉,那麼拖放呢?一字之差,代表的意義是不一樣的,拖拽就是拉著走,拖放就是有拖,有放,我們都知道原生 JS 拖拽效果的缺點:1. 程式碼相對複雜與冗餘2. 僅限於在瀏覽器內的元素間拖放3、不能實現跨頁面的拖放 所以H5就出現了拖放技術,與 JS 原生相比 HTML5 拖放的優勢
HTML5 drag & drop 拖拽與拖放
執行 javascrip eve eight 觸發 元素 padding 軟件 測試 關鍵詞: 1. draggable:規定元素是否可拖動的,draggable=true可拖動 2. dataTransfer:拖拽對象用來傳遞的媒介,使用方式:event.dataTran
android listview拖拽,拖動item 改變位置
在packages/apps/Music/src/touchIncepter.java中 該類提供了listview的拖動效果,並提供介面,在程式介面中實現資料的交換即可。 package com.and.DragListvie
div拖動(拖拽圖片驗證碼部分代碼)
type tar clientx document css top 計算 eight 驗證碼 在underside中拖動redbox,box和redbox的橫坐標一致 1 <!doctype html> 2 <html lang="en">
jQuery div網格佈局可拖動實現自由佈局
此功能參考http://www.datouwang.com/jiaoben/761.html中的資源,感謝! 頁面效果
HTML5 如何實現拖放‘N‘拖放
HTML5在網絡開發人員需要掌握的所有技術中,看起來最容易造成混淆和潛在問題的是拖拽。 這不是一項新技術,它已存在多年,但許多開發人員仍然執著於基於jQuery的舊方法,以牽連復雜(有時很慢且不準確)的拖放模擬。 現在HTML5包含一個拖放API,您已經有了一個非常簡單的方法來實現無拖放拖放。 理解力學拖放很
Jquery之jqplot圖示外掛使用
jqplot下載地址:http://www.jqplot.com/download/ demo使用: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g
jquery表單驗證外掛
jquery表單驗證外掛 <form id="submit_form" action="/" method="post"> <input name="headPersonPhone" class="easyui-textbox" data-options="required