我目前正在尝试为我的第一个网站构建报价计算器,我已经学习了一周的 Javascript,我使用 jQuery 在网站加载时隐藏各种元素,然后在单击相关按钮时显示。第一个问题,通过这样做,我是否会在任何新的 javascript 代码和 jQuery 代码之间产生任何冲突?
我已经建立了一个弹出界面来分解提供的服务,有 5 个类别。当单击“您需要存储多少个盒子?”时,我进一步开发了一个类别来显示。它下面有一个文本框,旁边有一个提交按钮。单击提交按钮时,它会显示一个新问题;“你想存放多久?” 还有两个名为“周”和“月”的文本框,带有另一个提交按钮。
我希望实现的是创建一个函数来获取输入到第一个框中的值,将给定的数字除以 18 并将其向上舍入到下一个整数,即使它是 1.000001。同时,我需要将输入“月”的值乘以 4.33 并向上取整。然后将months*4.33的结果与输入到weeks的值相加,得到总持续时间,最终的计算必须是(totalduration*2.50)*resultofthefirstcalculation。最终结果必须显示在我选择的文本框中作为货币价值 - 0.00 英镑
许多问题:
我使用的所有文本框都必须在“表单”标签内,以便 javascript 正确找到它们吗?如果是这样,是否必须全部采用一种形式,还是我可以使用多种形式?
我可以在同一个“脚本”标签中混合使用 Javascript 和 jQuery 吗?如果是这样,一个应该先于另一个吗?
稍后,一旦报价计算器功能正常,我计划使用 PHP 向用户发送一封包含报价详细信息的电子邮件,并发送给我自己。我是否需要在我的 HTML/Javascript 中考虑这一点?我想发送的所有细节都必须是:一种形式/不止一种形式/没关系,可以是任何元素吗?
这是几乎完美工作状态的弹出按钮(减去计算lol),右侧元素有轻微缺陷,但我已在网站代码中修复此问题。在脚本标签的顶部,在代码的底部,我已经包含了我在进行一些思维导图之后进行部分计算的最佳尝试,以了解所需的内容和顺序。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<title>Untitled Document</title>
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
body { width:100%; height:100%; text-align:center; margin:0px; }
div#bodycontainer { position:absolute; min-width:100%; height:100%; padding:0px; z-index:100; }
div.centerdiv { position:relative; width:1100px; height:100%; margin:0 auto; border-left:solid 2px #ddd; border-right:solid 2px #ddd; background-image:url(images/transport_background_alt.png); overflow:visible; background-position:0px 0px; background-repeat:no-repeat; z-index:1 }
div#getaquote { width:320px; height:55px; border:solid 1px #516c84; border-radius:15px; float:right; background:url(images/quotebkgd.png) no-repeat #fff; background-position:500px -50px; padding:none; }
button#quote { width:300px; height:50px; margin:0px; font-family:Arial, Helvetica, sans-serif; font-size:22px; color:#516c84; background-color:#fff; border:none; }
p#quotetitle { position:relative; top:20px; left:20px; width:500px; height:100px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:28px; color:#516c84; margin:0px; text-align:left; }
div#callus { position:absolute; top:435px; width:340px; height:110px; font-family:"Bookman Old Style", Times New Roman, Times, serif; float:left;/*border:solid 1px #000;*/ }
div#emailus { position:absolute; top:435px; left:340px; width:370px; height:110px; font-family:"Bookman Old Style", Times New Roman, Times, serif; float:left; }
img.icon { float:left; }
p#email { position:absolute; top:10px; left:120px; font-size:30px; font-weight:bold; color:#516c84; margin:0px; line-height:34px; }
p#smallertxt { position:absolute; top:50px; left:100px; font-size:22px; color:#516c84; margin:0px; }
p#call { position:absolute; top:10px; left:105px; font-size:28px; font-weight:bold; color:#516c84; margin:0px; line-height:34px; }
div#minbutton { width:52px; height:52px; position:absolute; top:15px; left:915px;/*border:solid 1px #000;*/ }
div#minbutton a:hover img { background:#516c84; }
div.quotebuttons { position:absolute; top:70px; left:15px; width:200px; height:auto; }
button#servcat1 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
button#servcat1:hover { background:#516c84; color:#fff; }
button#servcat1:click {
background:#516c84;
color:#fff;
}
button#servcat2 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
button#servcat2:hover { background:#516c84; color:#fff; }
button#servcat3 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
button#servcat3:hover { background:#516c84; color:#fff; }
button#servcat4 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
button#servcat4:hover { background:#516c84; color:#fff; }
button#servcat5 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
button#servcat5:hover { background:#516c84; color:#fff; }
div#transportopt { position:absolute; top:73px; left:230px; width:500px; height:330px; border:outset 3px #000; }
div#storageopt { position:absolute; top:73px; left:230px; width:500px; height:330px;/*border:outset 3px #000;*/
}
div#freightopt { position:absolute; top:73px; left:230px; width:500px; height:330px; border:outset 3px #000; }
div#relocationopt { position:absolute; top:73px; left:230px; width:500px; height:330px; border:outset 3px #000; }
div#exhibitionopt { position:absolute; top:73px; left:230px; width:500px; height:330px; border:outset 3px #000; }
div#quoteelements { position:absolute; left:750px; width:auto; height:auto; left:750px; }
form#form { position:absolute; top:270px; width:205px; height:225px; /*border:solid 1px #000;*/ font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:20px; color:#fff; line-height:30px; }
form#quoteform { background:none; }
input.formdata { height:30px; width:200px; border-radius:5px; }
input#submitbtn { position:relative; display:block; float:right; width:130px; height:50px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; }
input#submitbtn:hover { color:#516c84; background:#fff; border-radius:5px; }
div#quotecalc { position:absolute; top:63px; width:205px; height:210px; }
div#total { width:200px; height:52px; margin-top:7px; background:#516c84; border-radius:5px; border:outset 1px #fff; padding:4px; }
div#tax { width:200px; height:52px; margin-top:7px; background:#516c84; border-radius:5px; border:outset 1px #fff; padding:4px; }
div#grandtotal { width:200px; height:52px; margin-top:7px; background:#516c84; border-radius:5px; border:outset 1px #fff; padding:4px; }
p.calctitles { font-family:"Bookman Old Style", Times New Roman, Times, serif; font-weight:bold; color:#fff; text-align:left; margin-left:5px; margin-top:0px; text-decoration:underline; }
#numberprice { max-width:150px; max-height:22px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-weight:500; font-size:20px; padding:0px; color:#fff; text-align:right; text-decoration:underline; margin-top:0px; border:none; background:#516c84; }
#storagebutton1 { width:230px; height:70px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; margin-right:10px; }
#storagebutton1:hover { background:#fff; color:#516c84; font-weight:bold; }
#storagebutton2 { width:230px; height:70px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; }
#storagebutton2:hover { background:#fff; color:#516c84; font-weight:bold; }
#backbutton { width:70px; height:70px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:16px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; margin-right:10px; }
#backbutton:hover { background:#fff; color:#516c84; font-weight:bold; }
#backbutton2 { width:70px; height:70px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:16px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; margin-right:10px; }
#backbutton2:hover { background:#fff; color:#516c84; font-weight:bold; }
.optdisplay { width:470px; height:8px; background:#516c84; margin:10px auto; border:outset 3px #116c84; border-radius:5px; }
.boxtext { font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:28px; font-weight:bold; color:#fff; margin-top:10px; }
#numbofboxes { width:85px; height:55px; background:#fff; color:#516c84; text-align:center; border:outset 2px #516c84; border-radius:5px; font-size:34px; font-weight:bold; margin:0px; }
#numbweeks { width:60px; height:40px; background:#fff; color:#516c84; text-align:center; border:outset 5px #516c84; border-radius:5px; font-size:34px; font-weight:bold; margin:0px; }
#numbmonths { width:60px; height:40px; background:#fff; color:#516c84; text-align:center; border:outset 5px #516c84; border-radius:5px; font-size:34px; font-weight:bold; margin-top:0px; }
.btw { font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:18px; font-weight:bold; color:#fff; }
#smtbxno { width:85px; height:55px; background:#516c84; color:#fff; text-align:center; border-top:solid #fff 2px; border-left:solid #eee 1px; border-right:outset 3px #516c84; border-bottom:outset 2px #516c84; border-radius:5px; font-size:24px; font-weight:bold; font-family:"Bookman Old Style", Times New Roman, Times, serif; }
#tick2 { width:85px; height:55px; background:#516c84; color:#fff; text-align:center; border-top:solid #fff 2px; border-left:solid #eee 1px; border-right:outset 3px #516c84; border-bottom:outset 2px #516c84; border-radius:5px; font-size:24px; font-weight:bold; font-family:"Bookman Old Style", Times New Roman, Times, serif; }
</style>
</head><body>
<div id="bodycontainer">
<div id="getaquote"> <a>
<button id="quote"> <strong>Get A Quote Now</strong></br>
</button>
</a>
<p id="quotetitle"> <strong>Choose The Services You Require:</strong> </p>
<div id="callus"> <img class="icon" src="images/phoneicon.gif" />
<p id="call"> 0208 208 4411 </br>
07850 495 804 </p>
</div>
<div id="emailus"> <img class="icon" src="images/aticon.gif" />
<p id="email"> EMAIL: INFO
<p id="smallertxt"> <strong>BelmontTransport.com</strong> </p>
</p>
</div>
<div id="minbutton"> <a><img class="minimize" src="images/minimizebutton.png" /></a> </div>
<div class="quotebuttons"> <a>
<button id="servcat1"> <strong>Transport</strong> </button>
</a> <a>
<button id="servcat2"> <strong>Storage</strong> </button>
</a> <a>
<button id="servcat3"> <strong>Freight</strong> </button>
</a> <a>
<button id="servcat4"> <strong>Relocation</strong> </button>
</a> <a>
<button id="servcat5"> <strong>Exhibition</strong> </button>
</a> </div>
<div id="transportopt">
<div id="dedicatedtransport" onclick="addselected">
<input type="checkbox" name="options" onclick="options" value=250>
Dedicated Transport
</input>
</div>
<div id="commercialtransport"> Commercial Transport </div>
</div>
<div id="storageopt"> <a>
<button id="backbutton"> Back </button>
</a> <a>
<button id="backbutton2"> Back </button>
</a> <a>
<button id="storagebutton1"> Palletised Storage </button>
</a> <a>
<button id="storagebutton2"> Boxed Storage </button>
</a>
<div class="optdisplay">
<div id="noboxes">
<p class="boxtext">How many boxes do you need to store?</p>
<div id="boxinputs">
<input type="text" id="numbofboxes" value="0" name="boxnumber"/>
<button id="smtbxno"> <img src="images/tick.gif" alt="proceed"/> </button>
</div>
<p class="btw"> Standard box dimensions: 40cm x 40cm x 40cm </p>
</div>
<div id="storetimebox">
<p class="boxtext"> How long do you need to store for? </p>
<p class="btw"> Weeks
<input type="text" id="numbweeks" value="0" name="weekno" />
Months
<input type="text" id="numbmonths" value="0" name="monthno"/>
</p>
<button id="tick2" onclick="workitout()"> <img src="images/tick.gif" alt="proceed"/> </button>
</div>
</div>
</div>
<div id="freightopt"> This is where freight options are displayed </div>
<div id="relocationopt"> This is where relocation options are displayed </div>
<div id="exhibitionopt"> This is where exhibition options are displayed </div>
<div id="quoteelements">
<form id="form">
<strong>Name:</strong>
<input class="formdata" type="text" name="name">
<strong>Business:</strong>
<input class="formdata" type="text" name="business">
<strong>Email Address:</strong>
<input class="formdata" type="text" name="email">
<a>
<input id="submitbtn" type="submit" value="Get Quote">
</a>
</form>
<div id="quotecalc">
<div id="total">
<p class="calctitles"> Sub-Total </p>
<p id="stresult"> WOULD LIKE SUB TOTAL HERE </p>
</div>
<div id="tax">
<p class="calctitles"> VAT </p>
</div>
<div id="grandtotal">
<p class="calctitles"> Grand Total </p>
<p id="numberprice"> </p>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var totalprice=""
var storagetime=""
var boxno=""
function workitout(){
var a=parseInt(document.boxnumber.value);
var b=parseInt(document.weekno.value);
var c=parseInt(document.monthno.value);
storagetime=(c*4.3);
Math.round(storagetime)=totalprice;
document.quotecalc.grandtotal.value=totalprice;
};
$(document).ready(function(){
$("#quotetitle").hide();
$("#callus").hide();
$("#emailus").hide();
$(".quotebuttons").hide();
$("#minbutton").hide();
$("#transportopt").hide();
$("#storageopt").hide();
$("#freightopt").hide();
$("#relocationopt").hide();
$("#exhibitionopt").hide();
$("#quoteelements").hide();
$("#quotecalc").hide();
$("#quoteform").hide();
$(".optdisplay").hide();
$("#backbutton").hide();
$("#backbutton2").hide();
$("#noboxes").hide();
$("#storetimebox").hide();
});
$("#quote").click(function(){
$("#getaquote").animate({height:"550px",position:"absolute",top:"125px"});
$("#getaquote").animate({width:"980px",left:"-245px"})
$("#quotetitle").show(1000);
$("#getaquote").css({"border-style":"solid","border-width":"2px","border-color":"#516c84"});
$("#quote").hide(500);
$("#bodytext").fadeTo(2500,0.15);
$("#callus").show(1000);
$("#emailus").show(1000);
$(".quotebuttons").show(2000);
$("#minbutton").show(1500);
$("#quotecalc").show();
$("#quoteelements").show(1000);
/*$("#bodytext").css({"background":"#516c84"});9e9ec6*/
});
$("#minbutton").click(function(){
$("#getaquote").animate({width:"320px",left:"435px"});
$("#getaquote").animate({height:"55px",position:"absolute",top:"65px"});
$("#quotetitle").hide();
$("#getaquote").css({"border-style":"none"});
/*$("#getaquote").css({"border-style":"solid","border-width":"2px","border-color":"#516c84"});*/
$("#quote").show(2000);
$("#bodytext").fadeTo(2500,1);
$("#callus").hide(1000);
$("#emailus").hide(1000);
$(".quotebuttons").hide();
$("#minbutton").hide();
$("#transportopt").hide();
$("#storageopt").hide();
$("#freightopt").hide();
$("#relocationopt").hide();
$("#exhibitionopt").hide();
$("#quoteelements").hide();
});
$("#servcat1").click(function(){
$("#transportopt").show();
$("#storageopt").hide();
$("#freightopt").hide();
$("#relocationopt").hide();
$("#exhibitionopt").hide();
});
$("#servcat2").click(function(){
$("#transportopt").hide();
$("#storageopt").show();
$("#freightopt").hide();
$("#relocationopt").hide();
$("#exhibitionopt").hide();
});
$("#servcat3").click(function(){
$("#transportopt").hide();
$("#storageopt").hide();
$("#freightopt").show();
$("#relocationopt").hide();
$("#exhibitionopt").hide();
});
$("#servcat4").click(function(){
$("#transportopt").hide();
$("#storageopt").hide();
$("#freightopt").hide();
$("#relocationopt").show();
$("#exhibitionopt").hide();
});
$("#servcat5").click(function(){
$("#transportopt").hide();
$("#storageopt").hide();
$("#freightopt").hide();
$("#relocationopt").hide();
$("#exhibitionopt").show();
});
$("#storagebutton1").click(function(){
$("#backbutton").show();
$(".optdisplay").show()
$(".optdisplay").animate({height:"245px"});
$("#storagebutton2").hide();
$("#storagebutton1").animate({width:"390px"})(5000)
});
$("#storagebutton2").click(function(){
$("#backbutton").show();
$(".optdisplay").show()
$(".optdisplay").animate({height:"245px"});
$("#storagebutton1").hide();
$("#noboxes").show(500);
$("#storagebutton2").animate({width:"390px"})(5000)
});
$("#backbutton").click(function(){
$("#storagebutton1").show();
$("#storagebutton2").show();
$(".optdisplay").hide();
$("#backbutton").hide();
$("#storagebutton2").animate({width:"230px"});
$("#noboxes").hide();
$("#storagebutton1").animate({width:"230px"})(5000);
});
$("#smtbxno").click(function(){
$("#noboxes").hide(1000);
$("#storetimebox").show(1500);
$("#backbutton").hide();
$("#backbutton2").show();
});
$("#backbutton2").click(function(){
$("#noboxes").show(1000);
$("#storetimebox").hide(500);
$("#backbutton").show();
$("#backbutton2").hide();
});
</script>
</body>
</html>