DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> ajax急速狂飙:開發99收藏夾體驗(二)鼠標拖動
ajax急速狂飙:開發99收藏夾體驗(二)鼠標拖動
編輯:AJAX詳解     
這個問題我一定要提個人:梅花雪!!!!!
有句話說“世上無難事,只要有心人”,
我想說的是:“JS無難事,只要梅花來”。
要想實現ie收藏夾一樣的功能,那麼就要和IE收藏夾一樣能夠讓你隨便拖動,而且不需要刷新
,在某些站我看到用戶如果一整理收藏夾,那問題就來了,你要半天的等待啊!!
所以我必須要實現在頁面上的a標簽的拖動,首先我的代碼在IE下測試是完全正常的,但是到了
Firefox下你拖他理都不理你啊,一直找不出什麼原因,求教於梅花老大,很簡單的就幫你搞定了,
暈死,一看,原來是我沒有正確理解跨浏覽器的關於位置的JS代碼啊!!
暈死,但是實際一做,問題又來拉,在Firefox下一拖,還是不動啊!他就是這樣的頑固,每辦法,
我只好嘗試著把要拖動的標簽改成div 啊span啊,td 啊。。。。哦,my god!都正常啊!
又改成a,又不可以,又改,這樣改了很久,有一次我忘記寫a標簽的href了,天啊,一拖,竟然拖動
拉!!事情就是這樣的古怪啊!!呵呵,看起來懶有時候也是好事啊,所以我的a標簽都沒有了href
屬性了。還有個問題啊,就是保存用戶的cookIEs,我搞了大約一個月,在客戶端一直不能夠保存用戶
的cookIEs信息太久,關浏覽器就沒了,後來求教於N位高人,寫了無數的正確的代碼,都不可以,後來我把web.config裡面的<membership defaultProvider="PlProvider" userIsOnlineTimeWindow="30">這裡改成30,原來是15,也就是改成和cookIEs的timeout時間一樣,怪事,竟然完全好了,天啊,一些小問題
怎麼經常折磨我這樣久啊?
下面是鼠標拖動的代碼:裡面有個函數我沒有復制上來,拖動的時候還是在IE下效果好,因為他能夠
設置單個對象的事件捕捉,而Firefox不可以。

var beginMoving=false;
var ff=window.navigator.appName=="Netscape"?true:false;
var IE4=document.all?true:false;
var dragClickX, dragClickY;
var beginOpen=true;
var sourceObj=null;
var objectObj=null;
var sourceObjId;
function MouseDownToMove(obj,e)
{
   sourceObj=null;
   objectObj=null;
   beginOpen=true;
   e=e||window.event;
   beginMoving=true;
   sourceObj=obj;
   sourceObj.style.zIndex=1;
   dragClickY = e.clIEntY;
   dragClickX = e.clIEntX;
   if(IE4)
   {
      sourceObj.setCapture();
   }
   if(ff)
   {
      document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP | Event.MOUSEOVER);
   }
}

function MouseMoveToMove(e)
{
 beginOpen=false;
 if(beginMoving!=true) return false;
 if(sourceObj==null)return;
 e=e||window.event;
 var x = e.clIEntX-dragClickX;
 var y = e.clIEntY-dragClickY;
 sourceObj.style.left = x+"px";
 sourceObj.style.top = y+"px";
}
function MouseUpToMove(e)
{
    if(sourceObj==null)return;   
    if(IE4)
 {
    sourceObj.releaseCapture();
 }
 sourceObj.style.zIndex=0;
    sourceObj.style.top=0;
    sourceObj.style.left=0;
    beginMoving=false;
 window.setTimeout("InsertSwapNode()",20);
}

function MouSEOverToMove(e)
{
   if(sourceObj==null)return;
   e=e||window.event;
   objectObj = e.srcElement||e.target;
}

下面是廣告時間(怎麼現在老想做廣告-_-)
99收藏夾,你的個人主頁,完全由你做主!是一個集個性導航、在線收藏、在線新聞閱讀的網站,你能隨意的修改配置你的導航頁,你能在浏覽任何頁面時把它加入你的收藏夾,你能夠任意的閱讀、配置你喜歡的新聞頻道並且把你喜歡的新聞拖到你的收藏夾裡面永久收藏!你能夠浏覽、搜索別人的共享收藏,同樣的,你只要按住鼠標拖動一下就能夠把他永久加入你的在線99收藏夾!本站全部AJax技術實現,你完全不需要再漫長的等待,所有操作瞬間完成!
如果你希望在浏覽任何站點的時候能夠單擊右鍵點"收藏到99收藏夾"把這個頁面永久的收藏起來,請首先點本站右上角的"下載插件",或者點這裡下載regthis.rar文件,在彈出的對話框裡面點"保存",再選擇一個地方存儲起來,下載完後解壓縮,再雙擊運行regthis.reg文件,再重新啟動下你的IE浏覽器,很簡單的,你以後浏覽任何頁面都能夠在頁面上單擊右鍵點"收藏到99收藏夾"就能夠把這個頁面永久的收入你的"99收藏夾".
本站每天都對數據進行備份,以確保您的數據不會丟失!IE收藏夾只能夠在某台電腦上使用,而且如果一旦系統崩潰,你收藏在IE收藏夾裡的內容將蕩然無存,但是"99收藏夾"不同,數據是保存在我們的服務器上,而且你可以在任何只要能夠上網的電腦上使用!你而且能夠在線把你IE收藏夾裡的內容導入到"99收藏夾".
關於你的收藏夾:如果你登陸了,在左邊"我的收藏夾"下面列出的是你的收藏夾的名字,其中"根目錄收藏"指你沒有分類的收藏,你點任何收藏夾,那麼此收藏夾內的收藏就會立即顯示出來,你也可以右擊某個收藏夾,在彈出的右鍵菜單裡做你想做的修改.你也可以在你的某個收藏上右鍵,在彈出的菜單裡面做你需要的修改.你還可以直接拖動你的收藏,讓他們互相變換位置,也可以直接把某一個收藏從某個文件夾拖動到另外個收藏夾.
關於用戶導航模板:首先請您登陸,然後你可以點"預覽模板",預覽模板你能夠預覽本站已經做好的導航模板,這不會更改您的導航模板,或"插入模板",插入模板指把你選擇的模板插在你已經存在的模板的前面,或"更改模板",更改模板指你能夠用你選擇的模板來更改你現在已有的模板.如果你只想單獨的更改某個模板裡面的某個鏈接,請在這個鏈接上單擊右鍵就是,然後在彈出的對話框裡面修改成你所需要的!
關於你的新聞頻道:你登陸後就能夠在右邊看到你訂閱的新聞頻道了,單擊他們會顯示你喜歡的新聞,右擊能夠添加新聞頻道,在看新聞的時候你隨時可以把你喜歡的新聞拖動到你的某個收藏夾裡面永久的收藏起來,一切都是這樣的簡單.你還可以這樣添加你的新聞頻道,點左邊的RSS新聞頻道下面的某個類別,在彈出的面板裡面如果看到某個新聞頻道你喜歡的話請單擊右鍵,在彈出的右鍵菜單裡選"設置為我的新聞頻道"就可以了!
關於搜索和共享收藏:你可以按照用戶名搜索某個用戶的收藏,也可以按照收藏的標題搜索,也可以按照收藏的鏈接地址搜索,在搜索的結果裡面你能夠 任意的拖動你喜歡的收藏到你的收藏夾裡面永久的收藏起來,對於共享收藏也可以隨意的拖動到你的收藏夾裡面,一切都只需要你登陸就可以了!
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved