第一个个人J2EE网站——甜品屋

时间:2021-01-20 12:26:41

终于写到最近做的项目啦。甜品屋网站是我们的J2EE大作业,按学号检查演示,由于本人学号太靠前了,首当其冲(没错,就是这个成语)地被安排到开学第三周的周一早上的第一节课检查。而这个大作业是老师寒假刚开始放之前才布置的,所以,有多赶。。我春节后才开始做这个作业,到了3月7号就要检查?所以也就不到1个月的时间,更何况2月只有29天……

然而,I manage it.一个月前我还对Bootstrap框架和SSH框架一窍不通,过了一个月就能熟练运用到项目中来。

先说检查结果吧,跟我一起上台检查的同学要么功能不全要么演示时各种bug,屏幕各种错乱(因为用投影仪展示,而投影仪的分辨率比普通电脑低)。我检查时,因为之前就想到投影仪的分辨率问题,所以用了响应式布局(方法还参考了bootstrap源码),之后功能也很全面,界面嘛,个人认为有限时间内已经尽力完善了。演示过程中老师没有挑任何意见,全部都是我在说,最后演示完了,老师幽幽地说了一句”可以“。我心里很没谱,结果我刚*,就有坐在老师旁边的同学给我发QQ说”很棒哦,老师打的满分“,以及朋友发过来的”大家都说你的大作业要上天?“得到大家的肯定很开心。

项目中我模仿淘宝的购物车自己做了一个效果相同的购物车,以及因为原生的html的select中option无法加图片,我便自己用代码模拟了一个可以加图片的select选择下拉框。

登录页面

第一个个人J2EE网站——甜品屋

首页

第一个个人J2EE网站——甜品屋第一个个人J2EE网站——甜品屋第一个个人J2EE网站——甜品屋


甜品界面

第一个个人J2EE网站——甜品屋

购物车

第一个个人J2EE网站——甜品屋

附上购物车的js代码

//这是全选的js
//items是一组checkbox的name
function inverseSelect(items){	
	if(document.getElementById('quanxuan').checked){
		$('[name='+items+']:checkbox').prop('checked',true);
	}else{
		$('[name='+items+']:checkbox').prop('checked',false);
	}
 }


$(document).ready(function(){
	//加的效果
	$(".add").click(function(){
	var n=$(this).prev().val();
	var num=parseInt(n)+1;
	if(num==0){ return;}
	$(this).prev().val(num);
	
	var id=$(this).prev().attr("id").substr(2);
	var price=parseFloat($("#price"+id).val());
	var numm=parseInt($("#id"+id).val());
	var money=(price*numm).toFixed(2);
	document.getElementById('label'+id).innerText=money;
	if ($("#checkBox"+id).is(":checked")){
	   var total=parseFloat($("#heji").val())+price;
	   var totalString=total.toFixed(2);
	   document.getElementById('jiage').innerText="¥ "+totalString;
	   document.getElementById('heji').value=totalString;
	}
	});
	//减的效果
	$(".jian").click(function(){
	var n=$(this).next().val();
	var num=parseInt(n)-1;
	if(num==0){ return}
	$(this).next().val(num);
	
	var id=$(this).next().attr("id").substr(2);
	var price=parseFloat($("#price"+id).val());
	var numm=parseInt($("#id"+id).val());
	var money=(price*numm).toFixed(2);
	document.getElementById('label'+id).innerText=money;
	if ($("#checkBox"+id).is(":checked")){
	   var total=parseFloat($("#heji").val())-price;
	   var totalString=total.toFixed(2);
	   document.getElementById('jiage').innerText="¥ "+totalString;
	   document.getElementById('heji').value=totalString;
	}
	});
})




统计

第一个个人J2EE网站——甜品屋第一个个人J2EE网站——甜品屋第一个个人J2EE网站——甜品屋第一个个人J2EE网站——甜品屋



销售的select下拉框自己实现了一个图片效果,代码如下:(其中的jsp标签请无视,这不是重点)

<div class="col-sm-3">
                               <select class="form-control and1 or" id="selectDessert" onclick="showSelect()" >
                                  <option style="display:none" id="option" value=""></option>                             
                               </select>
                               <div class="selectborder" id="selectborder" style="display:none;">
		    
                                   <div class="oneline" onclick="selectDessert('<%=i%>')">
                                      <div>
                                      <img src="<jsp:getProperty name="dessertBean" property="picture" />" width=70px height=70px></img>
                                      <label class="desName"><jsp:getProperty name="dessertBean" property="dessertID" />  <jsp:getProperty name="dessertBean" property="name" /></label>
                                      <label class="desPrice">¥ <jsp:getProperty name="dessertBean" property="price" /></label>
                                      <%if(dessertt.getIfDiscount().equals("Y")){ %>
                                      <label class="youhui youu">优惠</label>
                                      <%} %>
                                      <label class="desStore"><span class="glyphicon glyphicon-map-marker"></span> <jsp:getProperty name="dessertBean" property="storeName" /></label>
                                      </div>
                                   </div>
            <%} %>
                                 
                               </div>
                            </div>


function showSelect(){
	if(document.getElementById("selectborder").style.display=="block"){
		document.getElementById("selectborder").style.display="none";
	}
	else{
		document.getElementById("selectborder").style.display="block";
	}
	
}

function hideSelect(){
	if(document.getElementById("selectborder").style.display=="block"){
		document.getElementById("selectborder").style.display="none";
	}
}
window.onload=function(){
        var oLink=document.getElementById('selectDessert');
        var oBox=document.getElementById('selectborder');        
        oLink.onclick=function(ev)
        {
                var ev = ev || window.event;
                if(document.getElementById("selectborder").style.display=="block"){
            document.getElementById("selectborder").style.display="none";
            }
            else{
            document.getElementById("selectborder").style.display="block";
            ev.cancelBubble=true;   
            }
                    
        };
        oBox.onclick=function(ev)
        {
                var ev = ev || window.event;
                ev.cancelBubble=true;        
        };
        document.onclick=function()
        {
                oBox.style.display='none';
        };
        
}





还有很多,就不放了。