欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript實現(xiàn)鼠標(biāo)拖動改變層大小的方法

 更新時間:2015年04月30日 10:01:53   作者:休閑生活文化  
這篇文章主要介紹了javascript實現(xiàn)鼠標(biāo)拖動改變層大小的方法,涉及javascript操作鼠標(biāo)事件及樣式的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了javascript實現(xiàn)鼠標(biāo)拖動改變層大小的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

<html>
<head>
<title>拖動改變層的大小</title>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">
<style> {
box-sizing: border-box; moz-box-sizing: border-box
}
#testDiv { background-color: buttonface; background-repeat: repeat; 
background-attachment: scroll; color: #3969A5; height: 300px; 
left: 30px; overflow: hidden; width: 500; z-index: 2; 
border: 2px outset white; margin: 0px; padding: 2px; 
background-position: 0% 50% }
body { font-family: Verdana; font-size: 9pt }
#innerNice { background-color: white; background-repeat: repeat;
background-attachment: 
scroll; color: #3969A5; height: 100%; overflow: auto; 
width: 100%; border: 2px inset white; padding: 8px; 
background-position: 0% 50% }
</style>
<SCRIPT language=javascript>
var theobject = null; 
function resizeObject() {
this.el = null; //pointer to the object
this.dir = ""; //type of current resize (n,s,e,w,ne,nw,se,sw)
this.grabx = null; //Some useful values
this.graby = null;
this.width = null;
this.height = null;
this.left = null;
this.top = null;
}
function getDirection(el) {
var xPos, yPos, offset, dir;
dir = "";
xPos = window.event.offsetX;
yPos = window.event.offsetY;
offset = 8; //The distance from the edge in pixels
if (yPos<offset) dir += "n";
else if (yPos > el.offsetHeight-offset) dir += "s";
if (xPos<offset) dir += "w";
else if (xPos > el.offsetWidth-offset) dir += "e";
return dir;
}
function doDown() {
var el = getReal(event.srcElement, "className", "resizeMe");
if (el == null) {
theobject = null;
return;
} 
dir = getDirection(el);
if (dir == "") return;
theobject = new resizeObject();
theobject.el = el;
theobject.dir = dir;
theobject.grabx = window.event.clientX;
theobject.graby = window.event.clientY;
theobject.width = el.offsetWidth;
theobject.height = el.offsetHeight;
theobject.left = el.offsetLeft;
theobject.top = el.offsetTop;
window.event.returnValue = false;
window.event.cancelBubble = true;
}
function doUp() {
if (theobject != null) {
theobject = null;
}
}
function doMove() {
var el, xPos, yPos, str, xMin, yMin;
xMin = 8; //The smallest width possible
yMin = 8; // height
el = getReal(event.srcElement, "className", "resizeMe");
if (el.className == "resizeMe") {
str = getDirection(el);
//Fix the cursor
if (str == "") str = "default";
else str += "-resize";
el.style.cursor = str;
}
//Dragging starts here
if(theobject != null) {
if (dir.indexOf("e") != -1)
theobject.el.style.width = Math.max(xMin, theobject.width + window.event.clientX - theobject.grabx) + "px";
if (dir.indexOf("s") != -1)
theobject.el.style.height = Math.max(yMin, theobject.height + window.event.clientY - theobject.graby) + "px";
if (dir.indexOf("w") != -1) {
theobject.el.style.left = Math.min(theobject.left + window.event.clientX - theobject.grabx, theobject.left + theobject.width - xMin) + "px";
theobject.el.style.width = Math.max(xMin, theobject.width - window.event.clientX + theobject.grabx) + "px";
}
if (dir.indexOf("n") != -1) {
theobject.el.style.top = Math.min(theobject.top + window.event.clientY - theobject.graby, theobject.top + theobject.height - yMin) + "px";
theobject.el.style.height = Math.max(yMin, theobject.height - window.event.clientY + theobject.graby) + "px";
}
window.event.returnValue = false;
window.event.cancelBubble = true;
} 
}
function getReal(el, type, value) {
temp = el;
while ((temp != null) && (temp.tagName != "BODY")) {
if (eval("temp." + type) == value) {
el = temp;
return el;
}
temp = temp.parentElement;
}
return el;
}
document.onmousedown = doDown;
document.onmouseup = doUp;
document.onmousemove = doMove;
</SCRIPT>
</head>
<body>
<div class="resizeMe" id="testDiv">
<div id="innerNice">
<p align="center"> </p>
<p align="center">
請在邊框處拖動鼠標(biāo)</p>
<p> </p>
<p> </p>
<p> </p>
</div>
</div>
</body>
</html>

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • Webpack中Source?Map配置深入解析

    Webpack中Source?Map配置深入解析

    這篇文章主要為大家介紹了Webpack中Source?Map配置深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • javascript正則表達(dá)式基礎(chǔ)知識入門

    javascript正則表達(dá)式基礎(chǔ)知識入門

    很長時間沒看正則表達(dá)式了,碰巧今天用到,溫故知新了一把,這里記錄下來,分享給大家,都是些基礎(chǔ)的知識,重點給大家講解的是正則表達(dá)式中4種常用的方法,50% 的舉一反三練習(xí)中的原創(chuàng)。
    2015-04-04
  • 輕量級JS Cookie插件js-cookie的使用方法

    輕量級JS Cookie插件js-cookie的使用方法

    js-cookie插件是一個JS操作cookie的插件,源文件只有3.34 KB,非常輕量級,js-cookie也支持npm和Bower安裝和管理,下面看看js-cookie的具體用法
    2018-03-03
  • 用循環(huán)或if語句從json中取數(shù)據(jù)示例

    用循環(huán)或if語句從json中取數(shù)據(jù)示例

    倘若想將id和pid數(shù)據(jù)依次取出,就只能用循環(huán),若想有選擇性的輸出時,需要添加if條件
    2014-08-08
  • javascript自動生成包含數(shù)字與字符的隨機(jī)字符串

    javascript自動生成包含數(shù)字與字符的隨機(jī)字符串

    這篇文章主要介紹了javascript自動生成包含數(shù)字與字符的隨機(jī)字符串,涉及Math.random()和Math.floor()兩個函數(shù)的使用技巧,需要的朋友可以參考下
    2015-02-02
  • 深入淺析Bootstrap列表組組件

    深入淺析Bootstrap列表組組件

    列表組是靈活又強(qiáng)大的組件,不僅能用于顯示一組簡單的元素,還能用于復(fù)雜的定制的內(nèi)容。本文給大家介紹Bootstrap列表組組件,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • canvas實現(xiàn)手機(jī)端用來上傳用戶頭像的代碼

    canvas實現(xiàn)手機(jī)端用來上傳用戶頭像的代碼

    這篇文章主要介紹了canvas實現(xiàn)手機(jī)端用來上傳用戶頭像的代碼代碼簡單易懂非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • Taro小程序自定義頂部導(dǎo)航欄功能的實現(xiàn)

    Taro小程序自定義頂部導(dǎo)航欄功能的實現(xiàn)

    這篇文章主要介紹了Taro小程序自定義頂部導(dǎo)航欄功能的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • js實現(xiàn)前端跨域postMessage的具體使用

    js實現(xiàn)前端跨域postMessage的具體使用

    這篇文章主要介紹了js實現(xiàn)前端跨域postMessage的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • JS實現(xiàn)可以用鍵盤方向鍵控制的動畫

    JS實現(xiàn)可以用鍵盤方向鍵控制的動畫

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)可以用鍵盤方向鍵控制的動畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12

最新評論