Javascript 如何使用扩展div创建Windows8外观?
我正在尝试为一个类似拼图的游戏创建一个交互式用户界面,其中我为一个容器设置了一个宽度,其中有6个方形分区(每个分区将为150x150px)。1 div将在页面加载时展开打开。一次只能打开一个div。如果单击另一个div,则打开的div必须先关闭,然后所有div都会滑过,以便为单击以打开和展开的div腾出空间。当它们滑动时,它们不能相互重叠。当div扩展时,其测量值为300x300px 关于如何开始有什么想法吗?我试着使用jQuery.animate,但是在继续新的单击操作之前,当我反转上一次单击的操作时,代码变得一团糟 抱歉这么抽象,让我知道是否需要澄清。这是我到目前为止建立的…(有很多意大利面代码)。我也在做这个-$('.yellow、.blue、.black、.grey、.purple、.pmadbig、.pmadsmall、.cache').attr('style','');只是为了清除之前所做的一切并重置谜题。我需要它完全正确地反转,而不是仅仅弹回原位Javascript 如何使用扩展div创建Windows8外观?,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我正在尝试为一个类似拼图的游戏创建一个交互式用户界面,其中我为一个容器设置了一个宽度,其中有6个方形分区(每个分区将为150x150px)。1 div将在页面加载时展开打开。一次只能打开一个div。如果单击另一个div,则打开的div必须先关闭,然后所有div都会滑过,以便为单击以打开和展开的div腾出空间。当它们滑动时,它们不能相互重叠。当div扩展时,其测量值为300x300px 关于如何开始有什么想法吗?我试着使用jQuery.animate,但是在继续新的单击操作之前,当我反转上一次单击
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.box { color: #222 }
.wrap {
background: none repeat scroll 0 0 #FFFFFF;
border: 0;
width: 750px;
margin-right:auto;
margin-left:auto;
height:400px;
border-right:1px red solid;
border-left:1px red solid;
position:relative;
}
.wrap1 {
background: none repeat scroll 0 0 #FFFFFF;
border: 0;
border-right:1px red solid;
border-left:1px red solid;
width: 750px;
margin-right:auto;
margin-left:auto;
height:75px;
position:relative;
}
.yellow{
background-color:#ffdbac;
float: left;
font-size: 11px;
position:absolute;
width: 150px;
height:150px;
}
.blue{
background-color:#007fff;
float: left;
font-size: 11px;
left:150px;
position:absolute;
top:150px;
width: 150px;
height:150px;
}
.purple{
background-color:#4d2177;
float: left;
font-size: 11px;
left:450px;
position:absolute;
width: 150px;
height:150px;
}
.black{
background-color:#000000;
position:absolute;
color:white;
left:300px;
float: left;
font-size: 11px;
width: 150px;
height:150px;
}
.grey{
background-color:#acacac;
float:right;
position:absolute;
top:150px;
left:300px;
float: left;
font-size: 11px;
width: 150px;
height:150px;
}
.green{
background-color:green;
float:right;
position:absolute;
top:150px;
left:450px;
float: left;
font-size: 11px;
width: 150px;
height:150px;
}
.red{
background-color:#cc0000;
float:right;
position:absolute;
top:0px;
left:600px;
float: left;
font-size: 11px;
width: 150px;
height:75px;
}
.pmadbig{
width:300px;
height:100px;
background-color:pink;
bottom:0px;
position:absolute;
display:none;
}
.pmadsmall{
width:150px;
height:75px;
background-color:pink;
bottom:0px;
position:absolute;
display:block;
}
.cache{
width:300px;
height:75px;
background-color:yellow;
position:absolute;
top:300px;
display:none;
}
</style>
<script src=
"http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.yellow').click(function() {
$('.yellow, .blue, .black, .grey, .purple, .pmadbig, .pmadsmall, .cache').attr('style', '');
$('.green').css('left','450px');
$('.yellow').animate({
width: '300',
height: '400',
top: '0'
}, 250, function() {
// Animation complete.
});
$('.pmadsmall').hide();
$('.grey, .black').animate({
left: '450'
}, 250, function() {
});
$('.blue').animate({
left: '300'
}, 250, function() {
});
$('.purple, .green').animate({
left: '600'
}, 250, function() {
$('.pmadbig').show();
});
});
$('.blue').click(function() {
$('.yellow, .blue, .black, .grey, .purple, .pmadbig, .pmadsmall, .cache').attr('style', '');
$('.green').css('left','450px');
$('.blue').animate({
width: '300',
height: '375',
top: '0'
}, 250, function() {
// Animation complete.
});
$('.grey, .black').animate({
left: '450'
}, 250, function() {
});
$('.purple, .green').animate({
left: '600'
}, 250, function() {
$('.blue').append($('.cache'));
$('.cache').slideDown();
});
});
$('.purple').click(function() {
$('.yellow, .blue, .black, .grey, .purple, .pmadbig, .pmadsmall, .cache').attr('style', '');
$('.green').css('left','450px');
$('.blue').animate({
left: '0'
}, 250, function() {
$('.grey').animate({
left: '150'
}, 250, function() {
$('.green').animate({
left: '300'
}, 250, function() {
$('.purple').animate({
width: '300',
height: '375'
}, 250, function() {
$('.purple').append($('.cache'));
$('.cache').slideDown();
});
});
});
});
});
$('.black').click(function() {
$('.yellow, .blue, .black, .grey, .purple, .pmadbig, .pmadsmall, .cache').attr('style', '');
$('.green').css('left','450px');
$('.blue').animate({
left: '0'
}, 250, function() {
$('.grey').animate({
left: '150'
}, 250, function() {
$('.purple, .green').animate({
left: '600'
}, 250, function() {
$('.black').animate({
width: '300',
height: '375'
}, 250, function() {
$('.black').append($('.cache'));
$('.cache').slideDown();
});
});
});
});
$('.grey').click(function() {
$('.yellow, .blue, .black, .grey, .purple, .pmadbig, .pmadsmall, .cache').attr('style', '');
$('.green').css('left','450px');
$('.black').animate({
left: '150'
}, 250, function() {
$('.grey').animate({
width: '300',
height: '375'
}, 250, function() {
$('.grey').append($('.cache'));
$('.cache').slideDown();
});
});
});
});
$('.grey').click(function() {
$('.yellow, .blue, .black, .grey, .purple, .pmadbig, .pmadsmall, .cache').attr('style', '');
$('.green').css('left','450px');
$('.black').animate({
left: '150'
}, 250, function() {
$('.green, .purple').animate({
left: '600'
}, 250, function() {
$('.grey').animate({
width: '300',
top: '0px',
height: '375'
}, 250, function() {
$('.grey').append($('.cache'));
$('.cache').slideDown();
});
});
});
});
$('.green').click(function() {
//$('div').attr('style', '');
if(typeof greenOpen == "undefined"){
greenOpen = false;
}
if(greenOpen == false){
$('.green').animate({
height: '225'
}, 250, function() {
greenOpen = true;
});
}
else{
$('.green').animate({
height: '150'
}, 250, function() {
greenOpen = false;
});
}
});
$('.red').click(function() {
//$('div').attr('style', '');
if(typeof redOpen == "undefined"){
redOpen = false;
}
if(redOpen == false){
$('.red').animate({
left: '450',
width: '300'
}, 250, function() {
redOpen = true;
});
}
else{
$('.red').animate({
left: '600',
width: '150'
}, 250, function() {
redOpen = false;
});
}
});
function start(){
$('.blue').trigger('click');
}
setTimeout(start,500);
});
</script>
<title></title>
</head>
<body>
<div id="wrapper">
<div class="wrap">
<div>
<div class="yellow">
<p>elephant</p>
<div class="pmadsmall">
<p>bonus points area</p>
</div>
<div class="pmadbig">
<p>pm ad big</p>
</div>
</div>
<div class="blue" style="float:righr;">
<p>tiger</p>
</div>
</div>
<div class="black">
<p>giraffe</p>
</div>
<div class="purple">
<p>monkey</p>
</div>
<div class="grey">
<p>snake</p>
</div>
<div class="green">
<p>bird</p>
</div>
</div>
<div class="cache">
<p>bonus points area</p>
</div><!-- END WRAPPER -->
</div>
</body>
</html>
.box{颜色:#222}
.包裹{
背景:无重复滚动0 0#FFFFFF;
边界:0;
宽度:750px;
右边距:自动;
左边距:自动;
高度:400px;
右边框:1px红色实心;
左边框:1px红色实心;
位置:相对位置;
}
.wrap1{
背景:无重复滚动0 0#FFFFFF;
边界:0;
右边框:1px红色实心;
左边框:1px红色实心;
宽度:750px;
右边距:自动;
左边距:自动;
高度:75px;
位置:相对位置;
}
黄先生{
背景色:#ffdbac;
浮动:左;
字体大小:11px;
位置:绝对位置;
宽度:150px;
高度:150像素;
}
蓝先生{
背景色:#007fff;
浮动:左;
字体大小:11px;
左:150px;
位置:绝对位置;
顶部:150px;
宽度:150px;
高度:150像素;
}
紫色{
背景色:#4d2177;
浮动:左;
字体大小:11px;
左:450px;
位置:绝对位置;
宽度:150px;
高度:150像素;
}
布莱克先生{
背景色:#000000;
位置:绝对位置;
颜色:白色;
左:300px;
浮动:左;
字体大小:11px;
宽度:150px;
高度:150像素;
}
格雷先生{
背景色:#acacac;
浮动:对;
位置:绝对位置;
顶部:150px;
左:300px;
浮动:左;
字体大小:11px;
宽度:150px;
高度:150像素;
}
格林先生{
背景颜色:绿色;
浮动:对;
位置:绝对位置;
顶部:150px;
左:450px;
浮动:左;
字体大小:11px;
宽度:150px;
高度:150像素;
}
瑞德先生{
背景色:#cc0000;
浮动:对;
位置:绝对位置;
顶部:0px;
左:600px;
浮动:左;
字体大小:11px;
宽度:150px;
高度:75px;
}
pmadbig先生{
宽度:300px;
高度:100px;
背景颜色:粉红色;
底部:0px;
位置:绝对位置;
显示:无;
}
.pmadsmall{
宽度:150px;
高度:75px;
背景颜色:粉红色;
底部:0px;
位置:绝对位置;
显示:块;
}
.缓存{
宽度:300px;
高度:75px;
背景颜色:黄色;
位置:绝对位置;
顶部:300px;
显示:无;
}
$(文档).ready(函数(){
$('.yellow')。单击(函数(){
$('.yellow、.blue、.black、.grey、.purple、.pmadbig、.pmadsmall、.cache').attr('样式','');
$('.green').css('left','450px');
$('.yellow')。设置动画({
宽度:“300”,
高度:'400',
顶部:“0”
},250,函数(){
//动画完成。
});
$('.pmadsmall').hide();
$('.grey,.black')。设置动画({
左:“450”
},250,函数(){
});
$('.blue')。设置动画({
左:“300”
},250,函数(){
});
$('.purple,.green')。设置动画({
左:“600”
},250,函数(){
$('.pmadbig').show();
});
});
$('.blue')。单击(函数(){
$('.yellow、.blue、.black、.grey、.purple、.pmadbig、.pmadsmall、.cache').attr('样式','');
$('.green').css('left','450px');