文章标题

来源:互联网 发布:淘宝回收手机安全吗 编辑:程序博客网 时间:2024/06/06 09:14

一个简单有趣的页面 Do you love me


首先是主体部分

Do you love me的主要展示图片

这里写图片描述

本来是在一个素材网上看见的特效,觉得有趣就自己也做了一下。

具体特效就是:每当鼠标移动到No上时,这个方框就移动到页面的其他地方,永远也点不到No。

当点击Yes时会弹出另一个页面写着:I love you too!

<div id="div1">    <p>Do you love me ?</p>    <input type="button" id="btn1" value="No"/>    <input type="button" id="btn2" value="Yes"/></div><div id="div2">    <p>I love you too !</p>    <input type="button" id="btn3" value="Yes"/></div>

设置这个大的方框为div1,里面只有一个p标签写着Do you love me? 这样一句话,然后再加上两个按钮。

div2是与div1大小一样的方框,只有一个p标签写着:I love you too! 还有一个按钮。

$("btn1").onmouseover=function(){    $("div1").style.top=Math.random()*600+"px";    $("div1").style.left=Math.random()*1200+"px";}$("btn2").onclick=function(){    $("div2").style.display="block";    $("div1").style.display="none";}$("btn3").onclick=function(){    $("div2").style.display="none";    $("div1").style.display="block";   }

当鼠标移入No这个按钮上时,令div1(大方框)的position改变,利用随机值组合使div1在页面上无序移动。

当点击Yes这个按钮时,把div1隐藏,使div2出现。当点击div2上的Yes按钮时,div2消失的同时div1再次出现。


背景音乐部分

这里写图片描述 图一

这里写图片描述 图二

这里写图片描述 图三

设置两首背景音乐,并且重新布局了一个播放操作。播放操作在页面的左侧隐藏,只有一个小标签样式,如图一。

当鼠标移动到小标签上时,会如图二一样显示出来。当鼠标移开整个播放操作块1秒后,播放操作又会隐藏起来如图一。

<audio loop autoplay src="music/Because I.mp3" id="audio1"></audio><div id="music">    <div id="play"><img src="img/pause2.png" id="img1"/></div>    <div id="stop"><img src="img/stop2.png" /></div>    <div id="forward"><img src="img/forward2.png" /></div>    <div id="backward"><img src="img/backward2.png" /></div>    <div id="tip"></div></div>

这是播放操作块的布局,tip是图一所示的小标签,利用定位的right:-20px。

music这个块被定位为left:-50px。

var oOn=true;$("play").onclick=function(){    if(oOn){        $("audio1").pause();        $("img1").src="img/play2.png";    }else{        $("audio1").play();        $("img1").src="img/pause2.png";    }    oOn=!oOn;}

因为背景音乐是打开页面后自动播放的,所以一开始的play按钮显示的是暂停,如这里写图片描述
所以当点击play(pause)按钮时,歌曲暂停,且图片切换为这里写图片描述
利用布尔值开关达到切换自如的效果。

$("stop").onclick=function(){    $("audio1").pause();    $("audio1").currentTime=0;    $("img1").src="img/play2.png";    oOn=false;}

点击stop(停止)按钮,使歌曲暂停并且回到最初播放0:00的状态。这时需要使play按钮的图片改变为

并且使布尔值开关为false,这样再次点击play按钮时就会播放音乐。(再进行if判断时,因为oOn为false所以会直接进入else中,

就能进行播放了。若不写此步骤,会发现需要点击两次play才能播放)

$("forward").onclick=function(){    $("audio1").currentTime=$("audio1").currentTime+3;}$("backward").onclick=function(){    $("audio1").currentTime=$("audio1").currentTime-3;}

点击forward(快进)和backward(快退)按钮会使时间分别加快3秒和倒退3秒。

感觉这两个按钮作用不大,只是为了美观。

var timer=null;$("music").onmouseover=function(){    clearTimeout(timer);    $("music").style.left="0px";}$("music").onmouseout=function(){    timer=setTimeout(function(){        $("music").style.left="-50px";             },1000);}

这是播放操作出现和隐藏的代码,主要是music这个块的定位的移动,还加了一个定时器。

$("btn2").onclick=function(){    $("div2").style.display="block";    $("div1").style.display="none";    $("audio1").src="music/好想你.mp3";    $("img1").src="img/pause2.png";    oOn=false;}

比较特殊的是当点击div1上的Yes后,随着div2的出现背景音乐也改变了。

为防止在点击Yes时,背景音乐已被暂停,而点击Yes后音乐又是自动播放,所以把play的图片默认更改为这里写图片描述 表示正在播放。

并且如点击stop时一样默认更改了布尔值开关(oOn)的值,防止出现两次点击才能暂停的错误。


大概就先写到这里,等有了新进展再写。

原创粉丝点击