W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
函數(shù)原型
/* 創(chuàng)建圖標(biāo)
* @number icoid 被刪除的icoid
* 注意:此函數(shù)只在前端桌面上刪除圖標(biāo),后端刪除應(yīng)該在此之前完成
*/
_ico.removeIcoid=function(icoid){
var data=_config.sourcedata.icos[icoid];
if(!data) return;
//關(guān)閉打開的目錄
if(data.type=='folder'){
for(var winid in _window.windows){
if(_window.windows[winid].type=='folder' && _window.windows[winid].fid==data.oid){
_window.windows[winid].Close();
}
}
}
//獲取圖標(biāo)所在的目錄fid
var pfid=_config.sourcedata.icos[icoid].pfid;
if(_config.sourcedata.icos[icoid].isdelete>0){
pfid=_config.space.typefid['recycle'];
}
if(pfid==_config.space.typefid['desktop']){ //桌面時(shí)
//移除screneList;
var arr=new Array();
var icoids=_config.screenList;
for(var i=0;i<icoids.length;i++){
if(icoids[i]!=icoid) arr[arr.length]=icoids[i];
}
_config.screenList=arr;
var autolist=_layout.autolist;
if(autolist){
var obj=_ico.icos[icoid];
if(_layout.iconposition<4){//此圖標(biāo)的后排圖標(biāo)前移
jQuery('#icosContainer_body_'+_layout.fid).find('.Icoblock').each(function(){
var id1=this.id.replace('icon_','');
var obj1=_ico.icos[id1];
if(obj1.pos>obj.pos) {
obj1.pos-=1;
var pos=obj1.getpos(obj1.pos,'icosContainer_body_'+_layout.fid);
obj1.left=pos[0];
obj1.top=pos[1];
obj1.board.style.left=obj1.left+'px';
obj1.board.style.top=obj1.top+'px';
}
});
}else{ //居中排列時(shí),重排桌面圖標(biāo)
_ico.refreshList(pfid);
}
_layout.resize(); //重新計(jì)算桌面布局
}
_select.SelectedStyle(obj.container,icoid,false); //刪除選中
//刪除圖標(biāo),清除占用內(nèi)存
jQuery(obj.board).remove();
for(var key in _ico.icos[icoid]){
delete _ico.icos[icoid][key];
}
delete _ico.icos[icoid];
}else if(pfid==_config.space.typefid['dock']){//在dock上時(shí)
//移除_config.dockList 中的icoid;
var icoarr=_config.sourcedata.icos[icoid];
if(icoarr.type=='app') var taskid='app_'+icoarr.oid;
else var taskid=icoid
var arr=new Array();
for(var i=0;i<_config.dockTaskList.length;i++){
if(_config.dockTaskList[i]!=taskid) arr.push(_config.dockTaskList[i]);
}
_config.dockTaskList=arr;
//pos超過此的圖標(biāo)全部向左移動(dòng)一格
var obj=_dock.icos[taskid];
jQuery('#taskbar_dock').find('.task_Icoblock').each(function(){
var id1=this.id.replace('task_','');
var obj1=_dock.icos[id1];
if(obj1.pos>obj.pos) {
obj1.pos-=1;
var pos=obj1.getpos(obj1.pos);
obj1.left=pos[0];
obj1.top=pos[1];
obj1.board.style.left=obj1.left+'px';
obj1.board.style.top=obj1.top+'px';
}
});
//刪除圖標(biāo),清理內(nèi)存
jQuery('#task_'+taskid).remove();
for(var key in _dock.icos[taskid]){
delete _dock.icos[taskid][key];
}
delete _dock.icos[taskid];
_dock.setDockSize(); //重新計(jì)算任務(wù)欄
}else if(pfid==_config.space.typefid['recycle']){//在回收站內(nèi)
_config.sourcedata.folder[pfid].iconum=parseInt(_config.sourcedata.folder[pfid].iconum)-1;
_ico.checkRecycleStatus(); //檢測(cè)回收站狀態(tài)
}
//刪除資源管理器和目錄內(nèi)的元素,維護(hù)目錄樹
for(var id in _filemanage.cons){
var filemanage=_filemanage.cons[id]
if(filemanage.data[icoid]){
_select.SelectedStyle('icosContainer_content_'+filemanage.winid+'_'+id,icoid,false);
filemanage.delIcos(_config.sourcedata.icos[icoid]);
}
}
};
此函數(shù)只是在前端刪除圖標(biāo),如果想連帶后端一起刪除,請(qǐng)使用下面的調(diào)用方法
/* 刪除圖標(biāo)
* @ number icoid //刪除的圖標(biāo)icoid
* @ boolean noconfirm //是否彈出提示刪除對(duì)話框
*/
_ajax.delIco(icoid,noconfirm);
注:此方法刪除的圖標(biāo)如果在回收站或在我的云中,徹底刪除;否則刪除到回收站。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: