ajax急速狂飆:開發99收藏夾體驗(二)滑鼠拖動

來源:互聯網
上載者:User
ajax 這個問題我一定要提個人:梅花雪!!!!!
有句話說“世上無難事,只要有心人”,
我想說的是:“js無難事,只要梅花來”。
要想實現ie收藏夾一樣的功能,那麼就要和ie收藏夾一樣能夠讓你隨便拖動,而且不需要重新整理
,在某些站我看到使用者如果一整理收藏夾,那問題就來了,你要半天的等待啊!!
所以我必須要實現在頁面上的a標籤的拖動,首先My Code在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新聞頻道下面的某個類別,在彈出的面板裡面如果看到某個新聞頻道你喜歡的話請單擊右鍵,在彈出的右鍵菜單裡選"設定為我的新聞頻道"就可以了!
關於搜尋和共用收藏:你可以按照使用者名稱搜尋某個使用者的收藏,也可以按照收藏的標題搜尋,也可以按照收藏的連結地址搜尋,在搜尋的結果裡面你能夠 任意的拖動你喜歡的收藏到你的收藏夾裡面永久的收藏起來,對於共用收藏也可以隨意的拖動到你的收藏夾裡面,一切都只需要你登陸就可以了!


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.