js代码:
> 웹 프론트엔드 > JS 튜토리얼 > Windows 바탕 화면 아이콘 배열 알고리즘을 모방한 js의 구체적인 구현(그림 포함)_javascript 기술

Windows 바탕 화면 아이콘 배열 알고리즘을 모방한 js의 구체적인 구현(그림 포함)_javascript 기술

WBOY
풀어 주다: 2016-05-16 17:32:07
원래의
1496명이 탐색했습니다.

참고: Jquery를 도입해야 합니다
모든 기능이 필요한 경우 jquery-ui 및 jquery-ui.css를 도입하세요
스크린샷:
Windows 바탕 화면 아이콘 배열 알고리즘을 모방한 js의 구체적인 구현(그림 포함)_javascript 기술
js 코드:

코드 복사 코드는 다음과 같습니다.

$(function() {

//Menu list
var menu_list =$(".menu-list");

//작업 공간
varworking=$(".working")

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

//메뉴 클릭 icon
$ (".menu").bind("click",function() {
menu_list.show();

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

//오른쪽 클릭 메뉴 보호
$(document).contextmenu( function() {
return false;
});

//작업공간 클릭 시 마우스 오른쪽 버튼 클릭 메뉴 표시
$(".working").contextmenu(function( 이벤트) {

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("시각적 높이 : " 높이 ", 마우스 높이: " 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 "Refresh":
document.location.reload()
break
case "로그아웃" ":
if(confirm( "로그아웃하시겠습니까? ")){

}
break;
기본값:
break;
}

$(".content-menu").hide();
});
});
//아이콘 부분 정렬
function alignment(){
var ul=$(".icons")
varworking=$ ( ".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 코드:



코드 복사
코드는 다음과 같습니다.



<머리>
index.html










<본문>





    <스크립트>
    for (var i = 1; i <= 4; i ) {
    var html = "";
    html = '
  • ';
    html = '';
    html = '
    图标' i '
    ';
    html = '
  • ';
    document.write(html);
    }









窗体







<스크립트>

$(".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-색인",1)
});

$(".icons li").dblclick(function(){
alert("더블 클릭");
});

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

if(elem.html()=="undefine")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("입력하세요.")
}

});

//图标拖拽
$(".icons li").draggable();

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






CSS代码:


复代码 代码如下:

@CHARSET "UTF-8";
body, html {
오버플로: 숨김;
높이: 100%;
너비: 100%;
여백: 0px;
패딩: 0px;
}
.working {
높이: 100%;
너비: 100%;
배경 이미지: url("../images/untitled.png");
백그라운드 반복: 반복하지 않음;
배경색: rgb(235, 236, 238);
패딩: 20px;
}
.working ul {
높이: 100%;
위치: 친척;
}
.working ul li {
위치: 절대;
디스플레이: 블록;
너비: 90px;
높이: 90px;
텍스트 정렬: 가운데;
여백: 0px 10px 10px 10px;
플로트: 왼쪽;
테두리: 1px 상속;
오버플로: 숨김;
커서: 포인터;
}
.taskbar {
위치: 절대;
높이: 35px;
줄 높이: 35px;
너비: 100%;
하단: 0px;
배경색: #CCC;
z-색인: 999;
필터: 알파(불투명도 = 80);
불투명도: 0.8;
패딩: 0px 10px;
}
.menu {
디스플레이: 블록;
너비: 50px;
높이: 30px;
플로트: 왼쪽;
}
.menu-list {
위치: 절대;
왼쪽: 0px;
하단: 35px;
너비: 350px;
높이: 500px;
테두리: #CCC 1px 솔리드;
배경색: 흰색;
필터: 알파(불투명도 = 90);
불투명도: 0.9;
테두리 반경: 5px;
디스플레이: 없음;
}
ul {
여백: 0px;
패딩: 0px;
}
.menu-icon {
커서: 포인터;
}
.menu-icon ul li {
디스플레이: 블록;
너비: 15px;
높이: 15px;
플로트: 왼쪽;
여백: 1px;
배경색: 흰색;
테두리 반경: 3px;
}
.menu-icon:hover li {
배경색: 빨간색;
}
.icons li img {
최대 높이: 70px;
최대 너비: 90px;
}
.text {
위치: 정적;
높이: 20px;
줄 높이: 20px;
너비: 100%;
여백: 0px;
글꼴 크기: 12px;
글꼴군: 微软雅黑;
색상: 흰색;
}
.icons-move {
테두리: rgb(161, 194, 219) 1px 솔리드;
배경색: rgb(194, 208, 226);
필터: 알파(불투명도 = 60);
불투명도: 0.6;
테두리 반경: 3px;
}
.icons-focus {
테두리: rgb(161, 194, 219) 1px 솔리드;
배경색: rgb(194, 208, 226);
필터: 알파(불투명도 = 100);
불투명도: 1;
테두리 반경: 3px;
}
.window {
높이: 200px;
너비: 200px;
테두리: #CCC 1px 솔리드;
배경색: 흰색;
테두리 반경: 5px;
위치: 절대;
상단: 0px;
z-색인: 10;
}
/*
* 右键菜单
*/
.content-menu {
위치: 절대;
너비: 150px;
높이: 자동;
배경색: rgb(255, 255, 255);
테두리: #CCC 1px 솔리드;
디스플레이: 없음;
테두리 반경:5px;
z-색인:999;
}
.content-menu ul {
여백: 0px;
패딩: 0px;
}
.content-menu ul li {
list-style: none;
줄 높이: 30px;
높이: 30px;
여백: 3px 0px;
패딩:0px;
글꼴 크기: 13px;
}
.content-menu ul li a{
텍스트 장식:없음;
디스플레이:블록;
글꼴군: 微软雅黑;
패딩:0px 5px;
폭:140px;
높이:100%;
색상: #333;
개요:없음;

}
.content-menu ul li a:hover {
배경색: #DDD;
}
.content-menu ul hr {
여백: 1px 0px;
높이: 0px;
테두리: 0px;
테두리 하단: #CCC 1px 솔리드;
}
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿