DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> Javascript制作拖動網頁布局的方法
Javascript制作拖動網頁布局的方法
編輯:關於JavaScript     
這幾天不是很忙,就找了些拖動布局方面的資料看看,也學著寫了個拖動布局的效果,沒想到花了好多時間,
七拼八湊,總算是把這個效果寫出來了。哎!還是js的功夫太差。因為是邊找資料邊寫的,很多地方印象不深,
時間一長,再重新寫估計也難,所以把當時的思路記錄一下!也希望大蝦指點一下!

好了,轉入正文,在開始之前先介紹幾個功能函數!
1.格式化事件的函數
程序代碼
function getEvent(){
     //同時兼容ie和ff的寫法
     if(document.all)    return window.event;
     func=getEvent.caller;
     while(func!=null){
         var arg0=func.arguments[0];
         if(arg0){
             if((arg0.constructor==Event || arg0.constructor ==MouseEvent)
                || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){    
                return arg0;
              }
         }
          func=func.caller;
        }
        return null;
}

2.取得鼠標的位置
程序代碼
function mouseCoords(ev){
    if(ev.pageX || ev.pageY){
        return {x:ev.pageX, y:ev.pageY};
    }
    return {
        x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
        y:ev.clientY + document.body.scrollTop - document.body.clientTop
    };
}

3.得到元素的位置
程序代碼
function getPosition(ele){
    var left = 0;
    var top = 0;
    while (ele.offsetParent){
        left += ele.offsetLeft;
        top += ele.offsetTop;
        ele = ele.offsetParent;
    }
    left += ele.offsetLeft;
    top += ele.offsetTop;
    return {x:left, y:top};
}
首先,當然是寫好初始布局的頁面,  查看初始頁面效果

一般拖動的元素是跟隨鼠標的,我的思路是在把拖動的元素增加到一個position為absolute的div中,
鼠標拖動的時候就讓它的位置根據鼠標的坐標變化就可以了。所以在頁面增加了個onload
程序代碼
var tmpDiv=null;//臨時存放拖動對象的div
window.onload=function(){
    tmpDiv=document.createElement("div");
    tmpDiv.styl

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved