最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript實(shí)現(xiàn)div的拖動(dòng)并調(diào)整大小類似qq空間個(gè)性編輯模塊

 更新時(shí)間:2012年12月12日 10:33:35   作者:  
qq空間的個(gè)性編輯模塊可以隨意的拖動(dòng)頁面上的元素并且調(diào)動(dòng)大小實(shí)現(xiàn)動(dòng)態(tài)布局;這種效果的確很酷,那么我們也來實(shí)現(xiàn)一個(gè)吧
經(jīng)常上qq空間的朋友一定對(duì)qq空間的個(gè)性編輯模塊印象深刻,可以隨意的拖動(dòng)頁面上的元素并且調(diào)動(dòng)大小實(shí)現(xiàn)動(dòng)態(tài)布局,當(dāng)然我每次上csdn博客也會(huì)在右下角看見一個(gè)新聞窗口,這種效果的確很酷,那么我們也來實(shí)現(xiàn)一個(gè)吧.

實(shí)現(xiàn)步驟:
1.首先是動(dòng)態(tài)創(chuàng)建一個(gè)類似這樣的html結(jié)構(gòu):
復(fù)制代碼 代碼如下:

<div style="height:200px;width:200px;overflow:hidden" id="a">
<div id="head" style="background-color:blue;height:5%">
<span id="move" style="width:90%;height:100%"></span>
<span id="close" style="overflow:hidden;white-space:nowrap;background-color:red">關(guān)閉</span>
</div>
<div id="body" style="width:100%;height:90%"></div>
</div>

2.id為body的為你要放置內(nèi)容的div容器,move是可移動(dòng)的span,close是關(guān)閉這個(gè)窗口(準(zhǔn)確說是層).
3.然后將事件綁定到這些對(duì)象上.具體看一下代碼.
復(fù)制代碼 代碼如下:

sx.activex.windowex={
init:function(step,t,html){
var a=document.createElement("div");
var head=document.createElement("div");
var move=document.createElement("span");
var close=document.createElement("span");
close.innerText="關(guān)閉";
var body=document.createElement("div");
head.appendChild(move);
head.appendChild(close);
a.appendChild(head);
a.appendChild(body);
a.style.height="200px";
a.style.width="200px";
a.style.overflow="hidden";
a.style.border="1px red solid";
head.style.backgroundColor="blue";
head.style.height="5%";
move.style.width="90%";
move.style.height="100%";
close.style.height="100%";
close.style.overflow="hidden";
close.style.whiteSpace="nowrap";
close.style.backgroundColor="yellow";
body.style.height="93%";
body.style.width="100%";
body.style.overflow="auto";
a.style.position="absolute";
close.style.position="absolute";
close.style.cursor="hand";
close.style.top=0+"px";
close.style.right=0+"px";
close.onclick=function(){
window.event.cancelBubble=true;
var q=a.offsetHeight;
var h=window.setInterval(function(){
if(Math.abs(q)>=0){
a.style.height=q+"px";
q=q-step;
if(Math.abs(q)<step){
//e.style.height=q+"px";
window.clearInterval(h);
//window.setTimeout(function(){
//alert(this==window);
close.style.cursor="normal";
a.parentNode.removeChild(a);
//a.style.lineHeight="0px";
//},10);
}
}else{
window.clearInterval(h);
//a.style.display="none";
}
},t);
}
move.onmousedown=function(){
this.move=1;
this.x=window.event.offsetX;
//alert(this.x);
this.y=window.event.offsetY;
this.setCapture();
}
move.onmousemove=function(){
this.style.cursor="move";
if(window.event.clientX<=0 || window.event.clientY<=0 || window.event.clientX>=document.body.clientWidth || window.event.clientY>=document.body.clientHeight){return false;}
if(this.move==1){

this.parentNode.parentNode.style.left=window.event.clientX-this.x+"px";
this.parentNode.parentNode.style.top=window.event.clientY-this.y+"px";
this.setCapture();
}
}
move.onmouseup=function(){
if(this.move==1){
this.move=0;
//this.style.cursor="normal";
this.releaseCapture();
}
}
a.onmousemove=function(){
if(this.move==1){
if(window.event.clientX-this.offsetLeft<2 || window.event.clientY-this.offsetTop<2) return false;
this.style.width=window.event.clientX-this.offsetLeft+"px";
this.style.height=window.event.clientY-this.offsetTop+"px";
close.style.right="0px";
this.setCapture();
}
else{
if(window.event.offsetX-this.offsetWidth>-6 && window.event.offsetY-this.offsetHeight>-6)
this.style.cursor="nw-resize";
else
this.style.cursor="default";
}
}
a.onmouseup=function(){
if(this.move==1){
this.move=0;
this.releaseCapture();
}
}
a.onmousedown=function(){
if(this.style.cursor=="nw-resize"){
this.move=1;
this.setCapture();
}
}
body.innerHTML=html;
return a;
}

代碼也不復(fù)雜,主要是什么onmousedown,onmousemove,onmouseup的編寫.我調(diào)整大小的原理當(dāng)?shù)哪闶髽?biāo)移動(dòng)到層的右下角時(shí),鼠標(biāo)指針改變,這時(shí)按下鼠標(biāo)并且移動(dòng)時(shí),會(huì)將當(dāng)前層setcapture,移動(dòng)鼠標(biāo)層會(huì)隨鼠標(biāo)的位置而調(diào)整大小,松開鼠標(biāo)releasecapture.

函數(shù)的參數(shù)step是你按下關(guān)閉時(shí)每次時(shí)間間隔移動(dòng)的步數(shù),t是時(shí)間間隔,html是你要插入到body層里的html代碼.
一下給出一個(gè)調(diào)用例子:
復(fù)制代碼 代碼如下:

<html>
<head>
<title>Untitled Document</title>
</head>
<body>

<mce:script src="kongjian.js" mce_src="kongjian.js"></mce:script>

<mce:script type="text/javascript"><!--
var a=sx.activex.windowex.init(10,10,"<img src="1.jpg" mce_src="1.jpg" height=500 width=500>");
//a.contentEditable=true;
a.style.bottom="0px";
a.style.right="0px";
document.body.appendChild(a);

// --></mce:script>
</body>
</html>

代碼有bug的地方還請(qǐng)大家多多包涵.

相關(guān)文章

  • HTML很火的浪漫愛心表白代碼

    HTML很火的浪漫愛心表白代碼

    程序員的你是不是也想送個(gè)特別的禮物。今天給大家分享一個(gè)HTML+CSS+jQuery實(shí)現(xiàn)的情侶浪漫愛心表白JS特效,視覺效果還是相當(dāng)不錯(cuò)!得此表白神器,程序猿也可以很浪漫!快去追你的女神吧,把這個(gè)告白愛心動(dòng)畫發(fā)給你心愛的她!
    2023-01-01
  • 花瓣漫天飛舞js特效,簡(jiǎn)單浪漫

    花瓣漫天飛舞js特效,簡(jiǎn)單浪漫

    現(xiàn)代社會(huì)結(jié)婚、走紅毯等很多時(shí)候會(huì)撒花瓣,滿天花瓣和賞煙花一樣,人們都覺得那一瞬間好美麗好浪漫。就像曇花一現(xiàn),美好的事物總是很短暫,提醒人們?nèi)フ湎?。這篇文章主要介紹了花瓣漫天飛舞js特效,簡(jiǎn)單浪漫,程序猿們可以跟女朋友一起欣賞
    2023-01-01
  • iphone手機(jī)桌面滑動(dòng)效果使用css3實(shí)現(xiàn)

    iphone手機(jī)桌面滑動(dòng)效果使用css3實(shí)現(xiàn)

    iphone手機(jī)桌面效果,因?yàn)橛昧薱ss3樣式,只測(cè)試了谷歌瀏覽器,此效果比較不錯(cuò),有興趣的朋友可以多測(cè)試幾個(gè)瀏覽器
    2012-12-12
  • 一款雙向無縫+按鈕定位的焦點(diǎn)圖實(shí)現(xiàn)代碼

    一款雙向無縫+按鈕定位的焦點(diǎn)圖實(shí)現(xiàn)代碼

    做這個(gè)焦點(diǎn)圖弄了大個(gè)晚上,感覺挺暈的~發(fā)上來給大家踩一下吧 雙向無縫的原理很簡(jiǎn)單實(shí)現(xiàn)起來也不難,主要頭痛的是在前后無縫與按鈕定位之間的配合問題,不過還好現(xiàn)在總算OK了。
    2010-11-11
  • js 模擬氣泡屏保效果代碼

    js 模擬氣泡屏保效果代碼

    用JavaScript實(shí)現(xiàn)的模擬氣泡屏保效果代碼,包括氣泡的碰撞效果,喜歡的朋友可以參考下。
    2010-07-07
  • 自己寫的兼容ie和ff的在線文本編輯器類似ewebeditor

    自己寫的兼容ie和ff的在線文本編輯器類似ewebeditor

    最近寫了個(gè)在線的編輯器,類似ewebeditor那樣的,當(dāng)然沒有人家那么強(qiáng)大,但是基本功能都有,而且還是兼容ie和ff的,需要的朋友可以參考下
    2012-12-12
  • 簡(jiǎn)單JS打造酷炫代碼雨(黑客高逼格)

    簡(jiǎn)單JS打造酷炫代碼雨(黑客高逼格)

    電影黑客帝國有個(gè)代碼雨效果,滿滿的既視感,身為程序猿的你羨慕嗎?只要很簡(jiǎn)單的HTML+JavaScript就能實(shí)現(xiàn),甚至不需要懂任何技術(shù)。這篇文章主要介紹了簡(jiǎn)單JS打造酷炫代碼雨(黑客高逼格),需要的朋友可以參考下
    2023-01-01
  • Js網(wǎng)頁另存為實(shí)現(xiàn)代碼

    Js網(wǎng)頁另存為實(shí)現(xiàn)代碼

    Js實(shí)現(xiàn)網(wǎng)頁另存為,點(diǎn)擊按鈕即可實(shí)現(xiàn),網(wǎng)頁代碼。
    2010-09-09
  • 網(wǎng)頁計(jì)算器 一個(gè)JS計(jì)算器

    網(wǎng)頁計(jì)算器 一個(gè)JS計(jì)算器

    一個(gè)挺小的JavaScript網(wǎng)頁計(jì)算器,界面美化的我想還是不錯(cuò)的,畢竟在沒有使用任何圖片修飾的情況下,很好看,而且功能挺實(shí)用,可以完成基本的數(shù)學(xué)算數(shù)運(yùn)算
    2013-09-09
  • 百度手寫板代碼JavaScript遠(yuǎn)程調(diào)用的實(shí)現(xiàn)(鼠標(biāo)輸入法)

    百度手寫板代碼JavaScript遠(yuǎn)程調(diào)用的實(shí)現(xiàn)(鼠標(biāo)輸入法)

    百度手寫板代碼JavaScript遠(yuǎn)程調(diào)用的實(shí)現(xiàn),其實(shí)沒什么可參考的,引用百度的Js文件,如果大家想使用這個(gè)類的話,自己下載就行了,正好可參考一下本演示,幫你快速入題。
    2010-09-09

最新評(píng)論

常熟市| 晋城| 晴隆县| 博乐市| 五原县| 东至县| 抚松县| 连山| 罗山县| 清新县| 抚远县| 咸丰县| 镶黄旗| 大姚县| 灌阳县| 喜德县| 克东县| 潢川县| 托克逊县| 阿尔山市| 四川省| 屯门区| 贡嘎县| 沙洋县| 宝鸡市| 基隆市| 万荣县| 衡阳市| 广宗县| 乐山市| 牙克石市| 江阴市| 从江县| 晋城| 江永县| 晴隆县| 锦州市| 山丹县| 射洪县| 拉萨市| 安新县|