订餐系统
<!doctype html> <html> <head> <meta charset="utf-8"> <title>蜡笔小新订餐网</title> <link rel="shortcut icon" href="images/logo.png" /> <link rel="stylesheet" href="basic.css" /> </head> <style> #lishi{ width:170px; height:160px; position:absolute; left:290px; top:67px; text-align:center; font-size:14px; color:#666; cursor:pointer; } .bigbox #shopcar{ width:180px; height:638px; background:rgba(204,204,204,0.8); display:none; position:absolute; top:-5px; right:-180px; border-radius:16px; font-size:12px; color:#333; opacity:1; animation:two 1s; -moz-animation:two 1s; /* Firefox */ -webkit-animation:two 1s; /* Safari and Chrome */ -o-animation:two 1s; /* Opera */ } .bigbox #shopcar #food{ margin-left:15px; margin-top:12px; } .bigbox #shopcar #allprice{ font-size:12px; color:#333; margin-left:15px; } .bigbox #shopcar #addnum,#reducenum{ display:inline-block; width:18px; height:18px; } .bigbox #shopcar #addnum{ margin-left:28px; margin-right:8px; background:url(images/num.png) -28px 0px; position:absolute; left:80px; } .bigbox #shopcar #reducenum{ margin-left:7px; background:url(images/num.png) -1px 0px; position:absolute; left:145px; } .bigbox #shopcar #num{ display:inline-block; width:30px; height:20px; text-align:center; line-height:20px; position:absolute; left:124px; } .bigbox #shopcar #order{ display:inline-block; width:50px; height:20px; background:#666; border-radius:6px; color:#fff; line-height:20px; text-align:center; position:absolute; right:8px; bottom:10px; z-index:1; cursor:pointer; } #foodnum{ display:inline-block; background-color:#F00; color:#fff; width:20px; height:20px; text-align:center; line-height:20px; border-radius:20px; position:absolute; right:55px; top:13px; } #left #imgs{ width:401px; height:283px; position: relative; top:130px; left:20px; border:#fff 2px solid; border-radius:8px; } #imgs #scroll_num{ position:absolute; left:15px; bottom:5px; } #imgs #scroll_num li{ display:inline-block; width:15px; height:15px; list-style:none; border:#999 1px solid; text-align:center; line-height:15px; color:#999; border-radius:5px; cursor:pointer; } #imgs #scroll_num .theLi{ border:red 1px solid; } #bgdetails{ width:1000px; height:630px; background:rgba(204,204,204,0.9); position:absolute; z-index:20; border-radius:14px; display:none; text-align:center; line-height:30px; color:#000; } #bgdetails hr{ width:800px; color:#eee; } #close_bg{ display:inline-block; width:30px; height:30px; border:#90C solid 1px; border-radius:30px; color:#90C; line-height:30px; text-align:center; font-size:32px; margin-left:950px; margin-top:15px; } #close_bg:hover{ border:#f00 solid 1px; color:#f00; } #detimg{ border:2px solid #90C; border-radius:12px; } #hot{ position:relative; top:70px; left:80px; } #hotp{ position:absolute; color:#fff; font-size:13px; top:-28px; left:38px; } #hot0,#hot1,#hot2{ position:relative; top:-10px; color:#666; font-size:14px; line-height:30px; cursor:pointer; } #hr{ display:block; border-radius:5px 5px; width:20px; height:20px; color:#fff; position:relative; left:95px; top:-30px; font-size:15px; text-align:center; } #hc{ display:block; border-radius:5px 5px; width:20px; height:20px; color:#fff; position:relative; left:-100px; top:27px; } #show{ cursor:pointer; } </style> <link rel="stylesheet" href="shopcar_1.css" > <body> <div class="bigbox"> <div id="hidebg"></div> <div id="bgdetails"> <span id="close_bg">X</span> </div> <div class="smallbox"> <div id="left"> <div id="bgleft"></div> <div id="hot"> <p id="hotp">今日热销</p> <p><img src="images/hot.png" /><span id="hot0">敬请期待</span></p> <p><img src="images/hot.png" /><span id="hot1">敬请期待</span></p> <p><img src="images/hot.png" /><span id="hot2">敬请期待</span></p> </div> <div id="content" style="display:none"> <p><span id="details">菜单详情</span><span id="x">X</span></p> <div id="foodimg"> <div id="foods"></div> </div> <span id="dishes"></span> <span id="normal"></span> <span id="real"></span> <span id="buyfood">立即购买</span> </div> <p id="jilu">历史记录</p> <div id="lishi"></div> <p id="time"></p> <div id="imgs"> <img src="images/1.jpg" id="pic"/> <ul id="scroll_num"> <li onmouseover="show(1)" onmouseout="start()" id="theLi1" class="theLi">1</li> <li onmouseover="show(2)" onmouseout="start()" id="theLi2">2</li> <li onmouseover="show(3)" onmouseout="start()" id="theLi3">3</li> </ul> </div> </div> <div id="right"> <div id="show"></div> </div> <div id="Login"> <span id="close">X</span> <form action="" name="myform"> <p>用户名:<input type="text" id="username" name="username" /></p> <p>密 码:<input type="password" id="pwd" name="pwd" /></p> <p>验证码:<input type="text" name="valcode"id="valcode" /></p> <img src="http://192.168.15.59:8080/res/verifyCodeServlet" id="codeimg" alt="看不清,点击切换"/> </form> <p id="word">LOGIN</p> </div> <div id="Login_1"> <span id="close_x">X</span> <form action="" name="myform1"> <p>送货地址:<input type="text" id="address" name="address" /></p> <p>联系方式:<input type="password" id="tel" name="tel" /></p> <p>送货时间:<input type="text" name="deliverytime"id="deliverytime" /></p> <p>附 言:<input type="text" name="ps"id="ps" /></p> </form> <p id="word_1">确认</p> </div> </div> <div class="button"> <span id="showuser" style="display:none"></span> <span id="login"><b>登录</b></span> <div id="car"></div> <span id="foodnum" style="display:none"></span> <!--<span id="shop"><b>购物车</b></span>--> </div> <div id="shopcar"> <span id="order">确定下单</span> </div> </div> <div id="volet_clos"> <div id="volet"> <a href="#volet_clos" aria-hidden="true" id="hc"><img src="images/hc.png" /></a> <p>版权所在</p> <p>廖友新&&丁俐伊</p> <a href="#volet" aria-hidden="true" id="hr"><img src="images/hr.png" /></a> </div> </div> <script src="../json/yc.js"></script> <script> //图片轮换 var theLi=document.querySelectorAll("#scroll_num li"); for(var i=0;i<theLi.length;i++){ } var timer=setInterval("show()",2000); var index=1; function show(id){ if(id){ clearInterval(timer); index=id; }else{ index=index%3+1; } if(index==1){ yc.$("#theLi1").setAttribute("style","border:1px solid red;"); yc.$("#theLi2").setAttribute("style","border:1px solid #999;"); yc.$("#theLi3").setAttribute("style","border:1px solid #999;"); }else if(index==2){ yc.$("#theLi2").setAttribute("style","border:1px solid red;"); yc.$("#theLi1").setAttribute("style","border:1px solid #999;"); yc.$("#theLi3").setAttribute("style","border:1px solid #999;"); } else if(index==3){ yc.$("#theLi3").setAttribute("style","border:1px solid red;"); yc.$("#theLi1").setAttribute("style","border:1px solid #999;"); yc.$("#theLi2").setAttribute("style","border:1px solid #999;"); } document.getElementById("pic").setAttribute("src","images/"+index+".jpg"); } function start(){ timer=setInterval("show()",2000); } //登录框显示隐藏 var myLogin=document.getElementById("login"); var myTheLogin=document.getElementById("Login"); var theClose=document.getElementById("close"); myLogin.onclick=function(){ yc.$("#Login").style.display="block"; yc.$("#hidebg").style.display="block"; }; theClose.onclick=function(){ myTheLogin.style.display="none"; yc.$("#hidebg").style.display="none"; }; //购物车 var theLogin=document.getElementById("car"); var theTheLogin=document.getElementById("Login_1"); var myClose=document.getElementById("close_x"); theLogin.onclick=function(){ theTheLogin.style.display="block"; }; myClose.onclick=function(){ theTheLogin.style.display="none"; }; //单击更换验证码yc.$("") yc.$("#codeimg").onclick=function(){ //缓存问题 很严重 //当两个请求是一模一样的时候,客户端是不会重新去发送请求,而是就用原先的那个请求 //解决:把请求变的不一样 在后面加 Math.random() 或者 date.getTime() this.src="http://218.196.14.220:8080/res/verifyCodeServlet?vacode"+Math.random(); }; //用户登录 yc.$("#word").onclick=function(){ //1拼接参数 var url="op=login&"+yc.serialize(myform); //console.log(url); //定义options var options={ success:function(){ //先获取数据 var json=this.responseJSON; if(json.code==0){ alert("用户名或者密码错误"); }else if(json.code==1){ //登录成功 yc.$("#Login").style.display="none"; yc.$("#hidebg").style.display="none"; yc.$("#login").style.display="none"; yc.$("#showuser").style.display="block"; //防止a标签跳转网页 yc.$("#showuser").innerHTML="欢迎,"+yc.$("#showuser").value+"。<a href='javascript:void(0)' id='exit' onclick='ex()'>退出</a>"; } } }; //发请求 yc.xssRequest("http://218.196.14.220:8080/res/resuser.action?"+url,options); }; //每次刷新网页的时候,我们应该判断一下用户有没有登录 window.onload=function(){ var options={ success:function(){ //得到响应的值 var json=this.responseJSON; if(json.code==1){ //有登陆 yc.$("#login").style.display="none"; yc.$("#showuser").style.display="block"; //防止a标签跳转网页 yc.$("#showuser").innerHTML="欢迎,"+json.obj.username+"。<a href='javascript:void(0)' id='exit' onclick='ex()'>退出</a>"; }else{ //意味着没有登录,或者已经退出 yc.$("#login").style.display="block"; yc.$("#showuser").style.display="none"; } } }; yc.xssRequest("http://218.196.14.220:8080/res/resuser.action?op=checkLogin",options); }; //退出 function ex(){ //清空登录信息 yc.$("#showuser").innerHTML=""; yc.$("#login").style.display="block"; yc.$("#showuser").style.display="none"; var options={ success:function(){ //删除cookie,在服务器端已经帮我们做了,所以这里不需要做任何操作 } }; yc.xssRequest("http://218.196.14.220:8080/res/resuser.action?op=logout",options); } //菜的显示 var str=""; var options={ success:function(){ var json=this.responseJSON; for(var i=0;i<json.obj.length;i++){ str+="<div width='180px' height='40px' class='menuPic' id='f"+i+"'>"; str+="<img width='40px' height='40px' id='foodPic' src='http://218.196.14.220:8080/res/images/"+json.obj[i].fphoto+"'>"; str+="<span id='foodid'>"+json.obj[i].fname+"</span>"; str+="</div>"; } yc.$("#show").innerHTML=str; //添加点击事件 for(var i=0;i<json.obj.length;i++){ //闭包 (function(index){ yc.$("#f"+index).onclick=function(){ //显示层 yc.$("#content").style.display="block"; yc.$("#bgleft").style.display="block"; fid=json.obj[index].fid; yc.$("#foods").innerHTML='<img id="s'+fid+'" width="142px" height="95px" src="http://218.196.14.220:8080/res/images/'+json.obj[index].fphoto+'">'; yc.$("#dishes").innerHTML='菜名:'+json.obj[index].fname; yc.$("#normal").innerHTML='标准价:'+json.obj[index].normprice; yc.$("#real").innerHTML='惊爆价:'+json.obj[index].realprice; }; yc.$("#x").onclick=function(){ //删除层 yc.$("#content").style.display="none"; yc.$("#bgleft").style.display="none"; }; yc.$("#hot0").innerHTML="<img width='40px' height='40px' src='http://218.196.14.220:8080/res/images/"+json.obj[5].fphoto+"'>"; yc.$("#hot1").innerHTML="<img width='40px' height='40px' src='http://218.196.14.220:8080/res/images/"+json.obj[6].fphoto+"'>"; yc.$("#hot2").innerHTML="<img width='40px' height='40px' src='http://218.196.14.220:8080/res/images/"+json.obj[7].fphoto+"'>"; //显示历史数据 yc.$("#lishi").innerHTML=""; showHistory(); })(i) } } }; yc.xssRequest("http://192.168.15.237:8080/res/resfood.action?op=findAllFoods",options); //历史记录详情 function showHistory(){ var options={ success:function(){ var json=this.responseJSON.obj; //console.log(json); for(var i=json.length-1;i>=0;i--){ //倒序输出,因为最新的历史记录,应该是显示在最前面 var bname=json[i].fname; var p=document.createElement("p"); p.id=json[i].fid; p.innerHTML=bname; var tag=yc.$("#lishi").getElementsByTagName("p"); if(tag.length>=8){ yc.$("#lishi").removeChild( yc.$("#lishi").firstChild ); yc.$("#lishi").appendChild(p); }else{ //添加子节点 yc.$("#lishi").appendChild(p); } } yc.$("#lishi").onclick=function(){ } } }; yc.xssRequest("http://192.168.15.237:8080/res/resfood.action?op=findAllSelectedFoods",options); } //购买食物 yc.$("#buyfood").onclick=function(){ var options={ success:function(){ var json=this.responseJSON; if(json.code!=1){ alert(json.msg); }else{ //成功 shop(); } } }; yc.xssRequest("http://192.168.15.237:8080/res/resorder.action?op=order&fid="+fid+"&num=1",options); }; // 购物车 function shop(){ //alert("添加成功"); // 先找出购物车里所有的东西 var shopcar={ success:function(){ var json=this.responseJSON; var count=0; // 因为不是数组了,所以不能直接length出长度 for( var a in json.obj){ if( json.obj.hasOwnProperty(a)){ // 存在这个属性 count++; } } // 得到你这个里面有多少数据了 //console.log( count); if(count>0){ yc.$("#shopcar").innerHTML=""; // 购物车里有数据,就显示到网页中去 for( var i in json.obj){ // 先得到所有的数据 fprice=json.obj[i].smallCount; fnum=json.obj[i].num; fid=json.obj[i].food.fid; fod=json.obj[i].food; // 创建节点 var div=document.createElement("div"); var p=document.createElement("p"); var span1=document.createElement("span"); var span2=document.createElement("span"); var span3=document.createElement("span"); var span4=document.createElement("span"); span3.id="addnum"; span4.id="reducenum"; yc.$("#content").style.display="none"; yc.$("#bgleft").style.display="none"; p.id=fid; p.innerHTML="<img width='18px' height='18px' src='http://218.196.14.220:8080/res/images/"+fod.fphoto+"' /> "+fod.fname; span1.innerHTML="<span id='allprice'>小计:"+fprice+"</span>"; span2.innerHTML="<span id='num'>"+fnum+"</span>"; (function(fid){ //span3的点击事件,添加数量 span3.onclick=function(){ var num=1; var options={ success:function(){ yc.$("#shopcar").innerHTML=null; shop(); yc.$("#shopcar").innerHTML='<span id="order">确定下单</span>'; } }; yc.xssRequest("http://192.168.15.237:8080/res/resorder.action?op=orderJson&num="+num+"&fid="+fid,options); }; //span4的点击事件,添加数量 span4.onclick=function(){ var num=-1; var options={ success:function(){ yc.$("#shopcar").innerHTML=null; shop(); yc.$("#shopcar").innerHTML='<span id="order">确定下单</span>'; } }; yc.xssRequest("http://192.168.15.237:8080/res/resorder.action?op=orderJson&num="+num+"&fid="+fid,options); } })(fod.fid); // 添加到div中去 div.appendChild(p); div.appendChild(span1); div.appendChild(span2); div.appendChild(span3); div.appendChild(span4); // 把购物车添加到网页里面去 yc.$("#shopcar").insertBefore(div,yc.$("#order")); } //显示商品数量 yc.$("#foodnum").style.display="block"; yc.$("#foodnum").innerHTML=yc.$("#shopcar").getElementsByTagName("div").length; }else{ // 没有数据 yc.$("#shopcar").style.display="none"; } } }; yc.xssRequest("http://192.168.15.237:8080/res/resorder.action?op=getCartInfo",shopcar) } yc.$("#car").onclick=function(){ //首先做判断 var abc=yc.$("#shopcar").getElementsByTagName("div").length; if(abc>0){ //意味着你的购物车有东西 if(yc.$("#shopcar").style.display!="block"){ yc.$("#shopcar").style.display="block"; }else{ yc.$("#shopcar").style.display="none"; } }else{ //购物车没有东西 alert("请先添加商品"); } }; </script> </body> </html>
/** * Created by Administrator on 2017/5/20. */ yc.$("#car").onclick=function(){ //首先做判断 if(yc.$("#shopcar").getElementsByTagName("div").length>0){ //意味着你的购物车有东西 if(yc.$("#shopcar").style.dipslay="block"){ yc.$("#shopcar").style.dipslay="block"; }else{ yc.$("#shopcar").style.dipslay="none"; } }else{ //购物车没有东西 alert("请先添加商品"); } }
#volet { width: 200px; padding: 10px; background: #B38EB3; color: #fff; text-align:center; border-radius:10px 10px; } #volet a.ouvrir, #volet a.fermer { padding: 10px 25px; background:#90C; color: #fff; text-decoration: none; } #volet { position: absolute; left: -190px; /* test fixed + scroll, on retire la position top */ -webkit-transition: all .5s ease-in; -moz-transition: all .5s ease-in; transition: all .5s ease-in; } #volet a.ouvrir, #volet a.fermer { position: absolute; right: -88px; top: 150px; -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -o-transform: rotate(270deg); -ms-transform: rotate(270deg); -moz-radius: 0 0 8px 8px; border-radius: 0 0 8px 8px; } #volet a.fermer { display: none; } #volet:target { left: 10px; } /* code pour la fermeture */ #volet:target a.fermer { display: block; } #volet:target a.ouvrir { display: none; } #volet_clos:target #volet { left: -190px; } /* test fixed + scroll */ #volet_clos { position: fixed; top: 55px; left: 0; }
自己做的一个订餐系统的小项目,里面有图片的轮换,登录,验证是否登录,菜单的显示等等。