JQuery手速测试小游戏实现思路详解
(-1)写在前面
我用的chrome49,jquery3.0,我得到过399分,信不信由你。
(1)设计思路
两个p元素放在div里,每个p元素的高度和宽度都和div一样,当鼠标放在div上时,第一个p向上移动(更改marginTop值),当鼠标离开div上时,第一个p向下移动。
(2)知识储备
a.:nth-child
#lolp:nth-child(1),当前元素p相对于他的父元素的所有子元素,如果第一个元素是p则匹配成功。
#lol:nth-child(1)相当于#lol*:nth-child(1)
(3)代码
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset=utf-8>
<scripttype="text/javascript"src="debug-jquery-3.0.0.js"></script>
<linkrel="shortcuticon"href="favicon.ico"type="image/x-icon">
<title>为了生活</title>
<styletype="text/css">
*
{
margin:0px;
padding:0;
}
body
{
position:absolute;
}
#lol
{
width:400px;
height:400px;
position:absolute;
overflow:hidden;
cursor:pointer;
}
#lolp
{
width:400px;
height:400px;
}
#lolp:nth-child(1)
{
background:blue;
}
#lolp:nth-child(2)
{
background:orange;
}
</style>
<scripttype="text/javascript">
$(function()
{
var$lol=$("#lol"),
$oneP=$lol.children().first(),
$score=$("#score");
$lol.centerPos();
$lol.hover(function()
{
$oneP.animate({marginTop:-$oneP.height()},400)
},function()
{
varnumber=-parseInt($oneP.css("marginTop"));
if(number==$oneP[0].offsetHeight)
{
number=0;
}
$(score).text(number);
$oneP.stop(true,false).animate({marginTop:0},400);
})
})
$.fn.centerPos=function()
{
varparent;
this.each(function(index)
{
parent=this.parentNode;
if(parent==document.body)
{
parent=window;
}
varposition=$(this).css("position");
if(position=="fixed"||position=="absolute")
{
$(this).css("left",($(parent).width()-this.offsetWidth)/2+"px")
.css("top",($(parent).height()-this.offsetHeight)/2+"px");
}
else
{
window.console.error("没有设置有效的position值");
}
})
returnthis;
}
</script>
</head
<body>
<div>当前得分:<spanid="score">0</span>分</div>
<divid="lol">
<p></p>
<p></p>
</div>
</body>
</html>
以上所述是小编给大家介绍的JQuery手速测试小游戏实现思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!