亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js模仿windows桌面圖標排列算法具體實現(附圖)

2019-11-20 22:38:58
字體:
來源:轉載
供稿:網友
注:需要引入Jquery
如果需要全部功能,請引入jquery-ui和jquery-ui.css
截圖:
 
js代碼:
復制代碼 代碼如下:

$(function() {

//菜單列表
var menu_list=$(".menu-list");

//工作區
var working=$(".working");

working.click(function() {
menu_list.hide();
$(".content-menu").hide("slow");
});

//菜單圖標單擊
$(".menu").bind("click",function() {
menu_list.show();

});
arrange();

$(window).resize(function() {
arrange();
});

//屏蔽右鍵菜單
$(document).contextmenu(function() {
return false;
});

//點擊工作區的時候 顯示右鍵菜單
$(".working").contextmenu(function(event) {

var x=event.clientX;
var y=event.clientY;
var menu=$(".content-menu");

//判斷坐標
var width=document.body.clientWidth;
var height=document.body.clientHeight;

x=(x+menu.width())>=width?width-menu.width():x;
y=(y+menu.height())>=height-40?height-menu.height():y;

//alert("可視高度:"+height+",鼠標高度:"+y);
menu.css("top",y);
menu.css("left",x);
menu.show();


});

//content-menu
$(".content-menu ul li").click(function() {
var text=$(this).text();

switch (text) {
case "刷新":
document.location.reload();
break;
case "退出登錄":
if(confirm("是否要退出登錄?")){

}
break;
default:
break;
}

$(".content-menu").hide();
});
});
//排列圖標部分
function arrange(){
var ul=$(".icons");
var working=$(".working");
//位置坐標
var position={x:0,y:0,bottom:110,width:50,height:50,parent:{height:0,width:0},padding:{top:10,left:10,right:0,bottom:10}};

position.parent.height=working.height()-40;
position.parent.width=working.width();

ul.find("li").each(function(index) {

$(this).css("top",position.y+"px");
$(this).css("left",position.x+"px");

position.height=$(this).height();
position.width=$(this).width();

position.y=position.y+position.height+position.padding.bottom+position.padding.bottom;

if(position.y>=position.parent.height-position.bottom){
position.y=0;
position.x=position.x+position.width+position.padding.left;
}
});
}

html代碼:
復制代碼 代碼如下:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD LEVEL1//EN">
<html>
<head>
<title>index.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=GBK">
<link rel="stylesheet" type="text/css" href="css/window.css">
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
<script language="JavaScript" src="js/jquery-1.10.0.js"></script>
<script language="JavaScript" src="js/jquery-ui.js"></script>
<script language="JavaScript" src="js/window.js"></script>
</head>
<body>

<div class="working">

<ul class="icons">

<script>
for (var i = 1; i <= 4; i++) {
var html = "";
html += '<li>';
html += '<img src="images/'+i+'.gif">';
html += '<div class="text">圖標'+i+'</div>';
html += '</li>';
document.write(html);
}
</script>

</ul>

</div>


<div class="taskbar">
<div class="menu-list">
<ul>
<li></li>
</ul>
</div>

<div class="menu">

<div class="menu-icon">
<ul><li></li><li></li><li></li><li></li></ul>
</div>

<a href="javascript:;"></a>
</div>

</div>

<div class="window" title="窗體">窗體</div>

<div class="content-menu">
<ul>
<li><a href="javascript:;">刷新</a></li>
<li><a href="javascript:;">設置</a></li>
<hr/>
<li><a href="javascript:;">幫助</a></li>
<hr/>
<li><a href="javascript:;">關于</a></li>
<hr/>
<li><a href="javascript:;">系統設置</a></li>
<li><a href="javascript:;">退出登錄</a></li>
</ul>
</div>


<script>

$(".icons li").mousemove(function(){
$(this).addClass("icons-move");
});

$(".icons li").mouseout(function(){
$(this).removeClass("icons-move");
});

$(".icons li").mousedown(function(){
$(".icons li").removeClass("icons-focus");
$(this).addClass("icons-focus");
//改變當前的索引
$(".icons li").css("z-index",0);
$(this).css("z-index",1);
});

$(".icons li").dblclick(function(){
alert("double click");
});

//按鍵事件
$(document).keyup(function(event){
var UP=38;
var DOWM=40;
var ENTER=13;
var elem=$(".icons-focus");

if(elem.html()=="undefined")return;

if (event.keyCode == UP) {
$(".icons li").removeClass("icons-focus");
elem.prev().addClass("icons-focus");
}

if(event.keyCode==DOWM){
$(".icons li").removeClass("icons-focus");
elem.next().addClass("icons-focus");
}

//回車打開選中的圖標
if(event.keyCode==ENTER){
var open=$(".icons-focus");
alert("ok enevt is enter");
}

});

//圖標拖拽
$(".icons li").draggable();

//注冊resize事件
$(".window").draggable({containment: 'parent'});
$(".window").resizable({containment: 'parent'});

</script>
</body>
</html>

CSS代碼:
復制代碼 代碼如下:

@CHARSET "UTF-8";
body, html {
overflow: hidden;
height: 100%;
width: 100%;
margin: 0px;
padding: 0px;
}
.working {
height: 100%;
width: 100%;
background-image: url("../images/untitled.png");
background-repeat: no-repeat;
background-color: rgb(235, 236, 238);
padding: 20px;
}
.working ul {
height: 100%;
position: relative;
}
.working ul li {
position: absolute;
display: block;
width: 90px;
height: 90px;
text-align: center;
margin: 0px 10px 10px 10px;
float: left;
border: inherit 1px inherit;
overflow: hidden;
cursor: pointer;
}
.taskbar {
position: absolute;
height: 35px;
line-height: 35px;
width: 100%;
bottom: 0px;
background-color: #CCC;
z-index: 999;
filter: alpha(opacity = 80);
opacity: 0.8;
padding: 0px 10px;
}
.menu {
display: block;
width: 50px;
height: 30px;
float: left;
}
.menu-list {
position: absolute;
left: 0px;
bottom: 35px;
width: 350px;
height: 500px;
border: #CCC 1px solid;
background-color: white;
filter: alpha(opacity = 90);
opacity: 0.9;
border-radius: 5px;
display: none;
}
ul {
margin: 0px;
padding: 0px;
}
.menu-icon {
cursor: pointer;
}
.menu-icon ul li {
display: block;
width: 15px;
height: 15px;
float: left;
margin: 1px;
background-color: white;
border-radius: 3px;
}
.menu-icon:hover li {
background-color: red;
}
.icons li img {
max-height: 70px;
max-width: 90px;
}
.text {
position: static;
height: 20px;
line-height: 20px;
width: 100%;
margin: 0px;
font-size: 12px;
font-family: 微軟雅黑;
color: white;
}
.icons-move {
border: rgb(161, 194, 219) 1px solid;
background-color: rgb(194, 208, 226);
filter: alpha(opacity = 60);
opacity: 0.6;
border-radius: 3px;
}
.icons-focus {
border: rgb(161, 194, 219) 1px solid;
background-color: rgb(194, 208, 226);
filter: alpha(opacity = 100);
opacity: 1;
border-radius: 3px;
}
.window {
height: 200px;
width: 200px;
border: #CCC 1px solid;
background-color: white;
border-radius: 5px;
position: absolute;
top: 0px;
z-index: 10;
}
/*
* 右鍵菜單
*/
.content-menu {
position: absolute;
width: 150px;
height: auto;
background-color: rgb(255, 255, 255);
border: #CCC 1px solid;
display: none;
border-radius:5px;
z-index:999;
}
.content-menu ul {
margin: 0px;
padding: 0px;
}
.content-menu ul li {
list-style: none;
line-height: 30px;
height: 30px;
margin: 3px 0px;
padding:0px;
font-size: 13px;
}
.content-menu ul li a{
text-decoration:none;
display:block;
font-family: 微軟雅黑;
padding:0px 5px;
width:140px;
height:100%;
color: #333;
outline:none;

}
.content-menu ul li a:hover {
background-color: #DDD;
}
.content-menu ul hr {
margin: 1px 0px;
height: 0px;
border: 0px;
border-bottom: #CCC 1px solid;
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品入口免费视频一| 欧美福利小视频| 日韩毛片中文字幕| 亚洲国产天堂久久国产91| 97婷婷涩涩精品一区| 久久精品国产v日韩v亚洲| 久久久久久久影视| 久久精品免费播放| 色噜噜狠狠狠综合曰曰曰| 国产精品一香蕉国产线看观看| 日本精品久久久久久久| 国产精品视频yy9099| 亚洲色图综合久久| 成人免费xxxxx在线观看| 亚洲成人网在线| 俺去亚洲欧洲欧美日韩| 国产主播精品在线| 欧美午夜电影在线| 日韩中文字幕在线精品| 搡老女人一区二区三区视频tv| 国产午夜精品美女视频明星a级| 狠狠躁夜夜躁人人躁婷婷91| 成人午夜一级二级三级| 欧美在线日韩在线| 在线视频日本亚洲性| 久久精品国产亚洲7777| 日韩欧美有码在线| 成人激情视频小说免费下载| 国产精品678| 欧美麻豆久久久久久中文| 国产亚洲欧美日韩精品| 亚洲人成在线观看| 日韩精品中文字幕在线| 97国产真实伦对白精彩视频8| 国产日韩欧美在线观看| 国产精品第七十二页| 久久这里只有精品99| 97视频人免费观看| 一区二区亚洲精品国产| 欧美性生活大片免费观看网址| 日韩中文字幕视频| 精品中文字幕在线观看| 国产精品久久久久久av下载红粉| 精品国产乱码久久久久久虫虫漫画| 日韩av资源在线播放| 欧美精品18videos性欧| 欧美高清视频在线观看| 精品性高朝久久久久久久| 91久久久久久久久| 欧美在线视频观看免费网站| 亚洲精品一区二区三区不| 欧美黄色片视频| 少妇av一区二区三区| 久久精品91久久久久久再现| 国产精品91久久| 日韩国产在线看| 欧美大人香蕉在线| 国产精品视频区| 亚洲欧美国产精品专区久久| 久久av资源网站| 国产婷婷97碰碰久久人人蜜臀| 中文字幕久久久| 成人美女免费网站视频| 精品欧美aⅴ在线网站| 欧美一级黄色网| 粗暴蹂躏中文一区二区三区| 91九色在线视频| 日韩欧美在线一区| 91精品久久久久久久久久另类| 亚洲福利影片在线| 日本欧美精品在线| 日韩精品免费在线视频观看| 亚洲精品动漫100p| 欧美成人午夜影院| 日本成人激情视频| 日韩在线视频国产| 综合网中文字幕| 午夜精品福利电影| 91久久久久久久久久| 日韩精品有码在线观看| 国产精品久久久久久久电影| 久久精品小视频| 性亚洲最疯狂xxxx高清| 久久久久久久影院| 一区二区中文字幕| 亚洲free嫩bbb| 中文字幕日韩有码| 亚洲www在线| 欧美视频在线观看 亚洲欧| 久久精品91久久香蕉加勒比| 国产午夜精品美女视频明星a级| 午夜精品在线视频| 欧美国产精品va在线观看| 91在线观看免费网站| 久久精品中文字幕| 国产精品成人观看视频国产奇米| 国产成人亚洲综合91| 91精品久久久久久综合乱菊| 亚洲福利影片在线| 日韩欧美一区二区三区久久| 国产小视频国产精品| 亚洲成人黄色网址| 最近2019中文字幕一页二页| 欧美电影免费观看电视剧大全| 久久国产精品影视| 日韩禁在线播放| 欧美精品在线播放| 日韩av不卡电影| 美女福利精品视频| 一区二区三区回区在观看免费视频| 欧美日本啪啪无遮挡网站| 亚洲国产天堂网精品网站| 综合网日日天干夜夜久久| 97成人精品视频在线观看| 亚洲欧美激情四射在线日| 亚洲精品视频在线观看视频| 秋霞av国产精品一区| 国产精品99免视看9| 久久免费视频这里只有精品| 亚洲天堂一区二区三区| 欧美成人免费一级人片100| 日韩精品福利网站| 欧美多人乱p欧美4p久久| 91成人免费观看网站| 中文字幕久久亚洲| 精品久久久久久久久久国产| 亚洲免费视频一区二区| 欧美一级黑人aaaaaaa做受| 九九九热精品免费视频观看网站| 欧美贵妇videos办公室| 秋霞av国产精品一区| 亚洲国内高清视频| xvideos亚洲人网站| 欧美激情亚洲国产| 欧美激情极品视频| 日本精品视频在线播放| 久久亚洲综合国产精品99麻豆精品福利| 亚洲精品久久久一区二区三区| 久久精品电影网| 亚洲国产成人91精品| 亚洲丁香婷深爱综合| 日本欧美一级片| 国产欧美精品日韩| 亚洲精品影视在线观看| 欧美高清自拍一区| 久久成人国产精品| 国产日韩在线亚洲字幕中文| 中文字幕亚洲天堂| 国产91对白在线播放| 久久成人亚洲精品| 亚洲一区二区福利| 亚洲老头同性xxxxx| 欧美性videos高清精品| 久久中文字幕国产| 日本国产一区二区三区| 欧美大片在线免费观看| 国产精品香蕉av| 亚洲成人教育av| 日韩毛片在线观看| 91亚洲精品久久久| 精品中文字幕在线| 日韩精品免费电影| 欧美激情精品久久久久久变态| 97香蕉超级碰碰久久免费的优势|