英雄难过棍子关小游戏可以带大家熟悉jquery动画
看源码
index.js:
$(function(){
var newNode=$("<div class='shadow'></div><div class='dialog'><p>游戏说明:<br /> 1、该游戏为一款好玩的闯关挑战类游戏,可以锻炼玩家的判断力,提高玩家的敏捷思维能力。<br /> 2、可以选择闯关模式或者挑战模式开始游戏。进入闯关模式后点击上方按钮可选择已解锁的关卡。<br /> 3、闯关模式总共有十个关卡,每通过一个关卡,游戏难度会逐渐增大。如果玩家玩通关闯关模式,会获得W币奖励。 <br /> 4、挑战模式会计算积分,玩家可以在线存档,也可以提交自己的积分来查看自己的排行。<br /> 5、本游戏引入了金币机制,即W币,初始金币为3个,玩家可以通过每日签到(+1 W币,连续签到从第二天起+2 W币)和完成每日的挑战任务(随机+7或8或9W币)或玩通关闯关模式(随机+10或11或12 W币)来获得W币,W币可以用来购买道具。本游戏目前含有四种道具,分别是原地复活道具、水波特效道具、蝴蝶跟随鼠标特效道具和下雪特效道具。原地复活道具只可以在挑战模式使用,其它三种道具均为特效道具,每次购买后有七天使用期限,七天后需再次购买才可继续使用。</p><button class='back1'>返回</button></div> ");
$(".intro").click(function(){
$(".contain").after(newNode);
$(".shadow").css("height",$(window).height());
})
$(".dialog>button").live("click",function(){//live可以绑定动态添加元素,on在1.9版本之前不可以
$(".dialog").remove();
$(".shadow").remove();
})
})
index.css
*{
margin:0;padding:0;list-style: none;text-decoration:none;
}
body{
background: url('../img/3.jpg');
}
h3{
/*background: pink;*/display: block;text-align: center;margin-top:50px;font-size: 20px;
}
.contain{
width:500px;/*background: red;*/position: absolute;left:50%;margin-left:-200px;
}
.contain a{
width:130px;height:36px;text-align: center;line-height: 36px;display: block;
border:3px solid #67C330;margin-top:100px;color: black;border-radius:8px;background:
linear-gradient(180deg,white,#67C330);
}
.shadow{
width:100%;position: absolute;top:0;background: rgba(0,0,0,0.5);
}
.dialog{
width:500px;position: absolute;background: white;left:50%;margin-left: -240px;margin-top:20px;
}
.dialog p{
height:300px;overflow: scroll;padding:20px;
}
.dialog button{
width:130px;height:36px;border:2px solid #3D92B6;background: linear-gradient(180deg,white,#3D92B6);
margin:50px auto 20px;display: block;border-radius: 8px;box-shadow: 0 0 0 3px white inset;
cursor: pointer;
}
zhuye.css
*{
margin:0;padding:0;list-style: none;text-decoration: none;
}
body{
background:url('../img/19.jpg');
}
.nav1{
/*background: pink;*/text-align: center;margin:50px auto;
}
.gq{
width:150px;height:36px;background: white;display: inline-block;text-align: center;
line-height: 36px;border:1px solid black;border-radius: 8px;margin-left:100px;
}
.caidan{
background:linear-gradient(to right bottom,white,#EEB071);width:150px;height:36px;
display: inline-block;text-align: center;line-height: 36px;border:#EE7700 solid 1px;
box-shadow: 0 0 2px 3px #EE7700;margin-left:100px;border-radius:8px;color:black;
}
.btn{
display: block;width:100px;height: 100px;background: url('../img/btn-bg.png');margin-left:55%;
}
.contain{
/*background:pink;*/position: fixed;bottom:0;height:250px;width:100%;
}
.pillarbox>div{
width:100px;height:250px;background: yellow;position: absolute;bottom:0;
}
.man{
position: absolute;bottom:98%;left:50px;
}
.stick{
width:5px;height:0;background: green;position: absolute;bottom:250px;left:95px;
}
.success,.fail{
width:400px;background: rgba(0,0,0);color:white;padding:10px;position: absolute;
left:50%;margin-left:-200px;margin-top:50px;text-align:center;z-index: 2;
border-radius: 10px;box-shadow: 2px 2px 0px 2px rgba(0,0,0,0.5); display: none;
}
.success>p,.fail>p{
font-size: 18px;
}
.success>button,.fail>button{
margin-top:50px;font-size: 18px;padding:5px;width:130px;height:36px;background: white;
border-radius: 8px;
}
.shadow{
width:100%;background:red;opacity: 0.5;position: absolute;top:0;
}
.stickdown{
transform:rotate(90deg);
-ms-transform:rotate(90deg);
-moz-transform:rotate(90deg);
-webkit-transform:rotate(90deg);
-o-transform:rotate(90deg);
transform-origin:5px 100%;
transition:transform 0.35s linear;
}
下面是主要学习jquery知识点包括动画的知识:
zhuye.js
$(document).ready(function(){
var stop=true;//定义一个标签
var ind=0;
var min=60;
var max=$(".contain").offset().top-min//offset()获取对象left和top值 top是offset()的top属性
console.log(max)
// 排列柱子的函数
function play(){
var num=0;
for(var i=0;i<4;i++){
var par=parseInt(Math.random()*(max-min)+min);
if(i==0){
$(".pillarbox>div").eq(0).css("left",0);
}else{
num=num+par+100;
$(".pillarbox>div").eq(i).css("left",num);
}
}
}
play();//执行排列柱子的函数
// 鼠标点击按钮
$(".btn").mousedown(function(){
if(stop){
$(".btn").css("background","url(img/btn-bg-click.png)")//点击按钮 背景变成灰色
$(".stick").animate({"height":max},2500);//点击按钮 杆子增长
}
})
// 鼠标点击按钮
// 鼠标松开按钮
$(".btn").mouseup(function(){
if(stop){
stop=false;
$(".btn").css("background","url(img/btn-bg.png)")//松开按钮 恢复正常颜色
$(".stick").stop(false,false).addClass('stickdown');//松开按钮 杆子停止动画
setTimeout(function(){
$(".man>img").attr("src","img/stick.gif");
var stickleft=parseInt($(".stick").css("left"));//string 获取杆子的left值
console.log(typeof(stickleft))//num
var stickheight=$(".stick").height();//height()方法获得或设置对象的高度
console.log(typeof(stickheight))//num
var nextdivleft=parseInt($(".pillarbox>div").eq(ind+1).css("left"))
$(".man").animate({"left":stickleft+stickheight},1000,function(){//回调函数,是否掉下
if(stickleft+stickheight>nextdivleft&&stickleft+stickheight<nextdivleft+100){
$(".man").css("left",nextdivleft+50);//小人left值在下一根柱子的50px处
$(".man>img").attr("src","img/stick_stand.png");//小人变成静态
$(".stick").css({"left":nextdivleft+95,"height":0}).removeClass("stickdown");
$(".contain").animate({"left":-nextdivleft},1000);//柱子整体左移
stop=true;
ind++;
if(ind==3){
$(".success").show();
success();
}
}else{//否则小人掉下去
$(".man").animate({"bottom":-$(".man").height()},1000,fail)
$(".shadow").css("height",$(window).height());
}
});
},1000)
}
})
// 鼠标松开按钮
// replay按钮
$(".replay").click(function(){
replay();
})
function replay(){
play();
$(".success").hide();
$(".fail").hide();
$(".stick").css({"left":95,"height":0}).removeClass("stickdown");
$(".contain").css("left",0);
$(".man").css({"left":50,"bottom":'98%'});
$(".man>img").attr("src","img/stick_stand.png");
$(".shadow").css("height",0);
stop=true;
ind=0;
}
// 下一关 next
var leval=1;
$(".next").click(function(){
$(".gq").html("关卡"+(++leval));
replay();
})
// 成功名言
function success(){
var successarr=[
'勇敢坚毅真正之才智乃刚毅之志向。 —— 拿破仑',
'志向不过是记忆的奴隶,生气勃勃地降生,但却很难成长。 —— 莎士比亚',
'骏马是跑出来的,强兵是打出来的。',
'只有登上山顶,才能看到那边的风光。',
'如果惧怕前面跌宕的山岩,生命就永远只能是死水一潭。',
'平时没有跑发卫千米,占时就难以进行一百米的冲刺。',
'梯子的梯阶从来不是用来搁脚的,它只是让人们的脚放上一段时间,以便让别一只脚能够再往上登。',
'没有激流就称不上勇进,没有山峰则谈不上攀登。',
'真正的才智是刚毅的志向。 —— 拿破仑',
'山路曲折盘旋,但毕竟朝着顶峰延伸。',
'只有创造,才是真正的享受,只有拚搏,才是充实的生活。',
'敢于向黑暗宣战的人,心里必须充满光明。',
'种子牢记着雨滴献身的叮嘱,增强了冒尖的勇气。',
'自然界没有风风雨雨,大地就不会春华秋实。',
'只会幻想而不行动的人,永远也体会不到收获果实时的喜悦。',
'勤奋是你生命的密码,能译出你一部壮丽的史诗。',
'对于攀登者来说,失掉往昔的足迹并不可惜,迷失了继续前时的方向却很危险。',
'奋斗者在汗水汇集的江河里,将事业之舟驶到了理想的彼岸。',
'忙于采集的蜜蜂,无暇在人前高谈阔论。',
'勇士搏出惊涛骇流而不沉沦,懦夫在风平浪静也会溺水。'
];
var num2=parseInt(Math.random()*19);
$(".success>p").html(successarr[num2]);
$(".shadow").css("height",$(window).height());
}
// 失败名言
function fail(){
var failarr=[
'志在峰巅的攀登者,不会陶醉在沿途的某个脚印之中。',
'海浪为劈风斩浪的航船饯行,为随波逐流的轻舟送葬。',
'人生最重要的一点是,永远不要迷失自己。',
'一个人承受孤独的能力有多大,他的能力就有多大。',
'实力塑造性格,性格决定命运。',
'普通人成功并非靠天赋,而是靠把寻常的天资发挥到不寻常的高度。',
'对于强者,要关注他们的灵魂,对于弱者,他关注他们的生存。',
'积极的人在每一次忧患中都看到一个机会,而消极的人则在每个机会都看到某种忧患。',
'成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。',
'当你感到悲哀痛苦时,最好是去学些什么东西。学习会使你永远立于不败之地。',
'有的人一生默默无闻,有的人一生轰轰烈烈,甚至千古流芳,为什么会这样?因为默默无闻的人只是满足于现状,而不去想怎么轰轰烈烈过一生,不要求自己,去做,去行动,怎么能够成功?',
'人性最可怜的就是:我们总是梦想着天边的一座奇妙的玫瑰园,而不去欣赏今天就开在我们窗口的玫瑰。',
'在人生的道路上,即使一切都失去了,只要一息尚存,你就没有丝毫理由绝望。因为失去的一切,又可能在新的层次上复得。',
'没有一劳永逸的开始;也没有无法拯救的结束。人生中,你需要把握的是:该开始的,要义无反顾地开始;该结束的,就干净利落地结束。',
'生命的奖赏远在旅途终点,而非起点附近。我不知道要走多少步才能达到目标,踏上第一千步的时候,仍然可能遭到失败。但我不会因此放弃,我会坚持不懈,直至成功!',
'不要认为只要付出就一定会有回报,这是错误的。学会有效地工作,这是经营自己强项的重要课程。',
'苦心人天不负,卧薪尝胆,三千越甲可吞吴。有志者事竞成,破釜沉舟,百二秦川终属楚。',
'生命本身是一个过程,成功与失败只是人生过程中一些小小的片段,若果把生命与成功或失败联系在一起,生命将失去本身该有的意义。',
'我们不要哀叹生活的不幸,诅咒命运的不公。在命运面前,我们要做强者,掐住命运的咽喉,叩问命运,改变命运。',
'努力和效果之间,永远有这样一段距离。成功和失败的唯一区别是,你能不能坚持挺过这段无法估计的距离。'
];
var num3=parseInt(Math.random()*19);
$(".fail>p").html(failarr[num3]);
$(".fail").show();
}
})
完