loan.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>房贷计算</title>
  6. <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
  7. <!-- UC强制全屏 -->
  8. <meta name="full-screen" content="yes">
  9. <!-- QQ强制全屏 -->
  10. <meta name="x5-fullscreen" content="true">
  11. <meta name="apple-mobile-web-app-capable" content="yes">
  12. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  13. <meta name="format-detection" content="telephone=no" />
  14. <link href="/js/lpindex/loan/css.css" rel="stylesheet" type="text/css">
  15. <script src="/js/lpindex/loan/jquery.js"></script>
  16. <script src="/js/lpindex/loan/jcookie.js" type="text/javascript"></script>
  17. <script src="/js/lpindex/loan/calculator.js"></script>
  18. <script src="/js/lpindex/loan/common.js"></script>
  19. </head>
  20. <script>
  21. document.title = '房贷计算';
  22. </script>
  23. <body class="calculator">
  24. <div id="edit">
  25. <header class="headerBar">
  26. <p class="white bold">房贷计算</p>
  27. <a class="back" href="javascript:history.go(-1);"></a>
  28. </header>
  29. <section class="option">
  30. <span class="on">商业贷款</span>
  31. <span class="">公积金贷款</span>
  32. <span class="">组合贷款</span>
  33. </section>
  34. <section class="calcBox">
  35. <p><span>房屋总价</span><span class="sel"><input id="total" type="number" value=""/></span><span class="fr">万元</span></p>
  36. <p><span>首付金额</span><span class="sel"><input id="first" type="number" value=""/></span><span class="fr">万元</span></p>
  37. <p class="ggj" style="display:none"><span>公积金贷款</span><span class="sel"><input class="loan" id="gjjLoanTotal" type="number" value="0"/></span><span class="fr">万元</span></p>
  38. <p class="ggj" style="display:none">
  39. <span>公积金利率</span>
  40. <span class="sel drop">
  41. <select class="loan_select" ></select>
  42. <em class="select_arrow"></em>
  43. </span>
  44. <span class="rate fr ratelv" id=""></span>
  45. </p>
  46. <input type="hidden" id="rate" value="0">
  47. <p class="dk"><span>商贷总额</span><span class="sel"><input class="loan" id="loanTotal" type="number" value="0"/></span><span class="fr">万元</span></p>
  48. <p class="dk">
  49. <span>商贷利率</span>
  50. <span class="sel drop">
  51. <select class="loan_select" ></select>
  52. <em class="select_arrow"></em>
  53. </span>
  54. <span class="rate fr ratelv" id=""></span>
  55. </p>
  56. <p>
  57. <span>贷款年数</span>
  58. <span class="sel drop">
  59. <select id="years" class="year_select">
  60. <option value="1">1年(12期)</option>
  61. <option value="2">2年(24期)</option>
  62. <option value="3">3年(36期)</option>
  63. <option value="4">4年(48期)</option>
  64. <option value="5">5年(60期)</option>
  65. <option value="6">6年(72期)</option>
  66. <option value="7">7年(84期)</option>
  67. <option value="8">8年(96期)</option>
  68. <option value="9">9年(108期)</option>
  69. <option value="10">10年(120期)</option>
  70. <option value="11">11年(132期)</option>
  71. <option value="12">12年(144期)</option>
  72. <option value="13">13年(156期)</option>
  73. <option value="14">14年(168期)</option>
  74. <option value="15">15年(180期)</option>
  75. <option value="16">16年(192期)</option>
  76. <option value="17">17年(204期)</option>
  77. <option value="18">18年(216期)</option>
  78. <option value="19">19年(228期)</option>
  79. <option selected="selected" value="20">20年(240期)</option>
  80. <option value="21">21年(252期)</option>
  81. <option value="22">22年(264期)</option>
  82. <option value="23">23年(276期)</option>
  83. <option value="24">24年(288期)</option>
  84. <option value="25">25年(300期)</option>
  85. <option value="26">26年(312期)</option>
  86. <option value="27">27年(324期)</option>
  87. <option value="28">28年(336期)</option>
  88. <option value="29">29年(348期)</option>
  89. <option value="30">30年(360期)</option>
  90. </select>
  91. <em class="select_arrow"></em>
  92. </span>
  93. </p>
  94. </section>
  95. <section class="blockBtn"><a class="calBtn" href="javascript:void(0)">计算</a></section>
  96. </div>
  97. <!---计算结果start -->
  98. <div id="result" style="display:none">
  99. <header class="headerBar">
  100. <p class="white bold">计算结果</p>
  101. <a class="back backHide" href="javascript:;"></a>
  102. </header>
  103. <section class="resultBox">
  104. <h1>等额本息还款方式</h1>
  105. <p>贷款总额<span id="debx_loanTotal" class="fr">0万元</span></p>
  106. <p>利息总额<span id="debx_lxTotal" class="fr">0万元</span></p>
  107. <p>还款总额<span id="debx_payTotal" class="fr">0万元</span></p>
  108. <p>月均还款<span id="debx_monthPay" class="fr">0万元</span></p>
  109. </section>
  110. <section class="resultBox">
  111. <h1>等额本金还款方式</h1>
  112. <p>贷款总额<span id="debj_loanTotal" class="fr">0万元</span></p>
  113. <p>利息总额<span id="debj_lxTotal" class="fr">0万元</span></p>
  114. <p>还款总额<span id="debj_payTotal" class="fr">0万元</span></p>
  115. <p>首月还款<span id="debj_firstPay" class="fr">0万元</span></p>
  116. <p>未月还款<span id="debj_lastPay" class="fr">0万元</span></p>
  117. <p style="position:relative">
  118. <span>每次月还款明细</span>
  119. <span class="sel clearfix">
  120. <select id="debj_monthPay" class="debj_monthPay_select">
  121. </select>
  122. </span>
  123. <em class="select_arrow"></em>
  124. </p>
  125. </section>
  126. <section class="blockBtn"><a class="backHide" href="javascript:;">返回</a></section>
  127. </div>
  128. <!--计算结果end -->
  129. <footer class="indexFooter"></footer>
  130. <!-- <section class="gotoTop"><img src="picture/gototop.png"/></section> -->
  131. <script type="text/javascript">
  132. var cal = new Calculator();
  133. var type = 2;
  134. //隐藏键盘
  135. var hideKeyboard = function () {
  136. document.activeElement.blur();
  137. };
  138. $(function() {
  139. var price = $("#total").val()
  140. var firstPay=Math.round( price * parseFloat('0.3') * 100) / 100;
  141. $("#first").val(firstPay);
  142. var biz=Math.round((price - firstPay) * 100) / 100;
  143. $("#loanTotal").val(biz);
  144. var cal = new Calculator(), _options = '', _op;
  145. for (var r in cal.rate) {
  146. _op = cal.rate[r];
  147. _options += "<option " + (r == 0 ? "selected='selected'" : "") + " value='" + r + "'>" + _op.title + "</option>";
  148. }
  149. $(".loan_select").html(_options);
  150. refreshRate();
  151. $("#years").on("change", function() {
  152. refreshRate();
  153. });
  154. $(".loan_select").on("change", function() {
  155. $(".loan_select").val($(this).val());
  156. $("#rate").val($(this).find("option:selected").val());
  157. refreshRate();
  158. });
  159. //房贷计算器切换
  160. $(".calculator .option span").on("click", function () {
  161. $(".option span").removeClass("on");
  162. $(this).addClass("on");
  163. var index = $(this).index();
  164. if (index == 0) {
  165. type = 2;
  166. $(".ggj").hide();
  167. $(".dk").show();
  168. fill();
  169. } else if (index == 1) {
  170. type = 1;
  171. $(".dk").hide();
  172. $(".ggj").show();
  173. fill();
  174. } else {
  175. type = 3;
  176. $(".ggj").show();
  177. $(".dk").show();
  178. $(".loan").val(0);
  179. }
  180. });
  181. //更改房屋总价
  182. $("#total").on("input", function (e) {
  183. var total = validValue("total");
  184. var first = Math.round(total * parseFloat('0.3') * 100) / 100;
  185. $("#first").val(first);
  186. if (type != 3) {
  187. var loan = Math.round((total - first) * 100) / 100;
  188. $(".loan:visible").val(loan);
  189. }
  190. });
  191. //更改首付金额
  192. $("#first").on("input", fill);
  193. //计算
  194. $(".calBtn").on("click", function () {
  195. hideKeyboard();
  196. $("#edit").hide();
  197. $("#result").fadeIn();
  198. var property = {};
  199. property.type = type;
  200. property.total = validValue("total");
  201. property.firstPay = validValue("first");
  202. property.acc = validValue("gjjLoanTotal");
  203. property.biz = validValue("loanTotal");
  204. property.rate = $("#rate").val();
  205. property.year = $("#years").val();
  206. property.calType = type;
  207. var data1 = cal.loanResult(property, 1); //本金
  208. if (data1) {
  209. $("#debj_loanTotal").text(Math.round(data1.totalLoan * 100) / 100 + "万元");
  210. $("#debj_lxTotal").text(Math.round(data1.interestPay * 100) / 100 + "万元");
  211. $("#debj_payTotal").text(Math.round(data1.totalPay * 100) / 100 + "万元");
  212. var m = 0, sel = $("#debj_monthPay").empty();
  213. for (var i = 0; i < data1.month; i++) {
  214. m = Math.round(data1.perMonthPay[i].pay * 10000 * 100) / 100;
  215. if (i == 0) $("#debj_firstPay").text(m + "元");
  216. else if (i == data1.month - 1) $("#debj_lastPay").text(m + "元");
  217. $("<option>第" + (i + 1) + "期" + m + "元</option>").appendTo(sel);
  218. }
  219. }
  220. var data2 = cal.loanResult(property, 2); //本息
  221. if (data2) {
  222. $("#debx_loanTotal").text(Math.round(data2.totalLoan * 100) / 100 + "万元");
  223. $("#debx_lxTotal").text(Math.round(data2.interestPay * 100) / 100 + "万元");
  224. $("#debx_payTotal").text(Math.round(data2.totalPay * 100) / 100 + "万元");
  225. $("#debx_monthPay").text(Math.round(data2.perMonthPay * 10000 * 100) / 100 + "元");
  226. }
  227. });
  228. $(".backHide").on("click", function () {
  229. $("#result").hide();
  230. $("#edit").fadeIn();
  231. });
  232. $("#total").on("input", function (e) {
  233. var total = validValue("total");
  234. var first = Math.round(total * 0.3 * 100) / 100;
  235. $("#first").val(first);
  236. if (type != 3) {
  237. var loan = Math.round((total - first) * 100) / 100;
  238. $(".loan:visible").val(loan);
  239. }
  240. });
  241. $("#first").on("input", fill);
  242. $(".emt input[type='number']").on("focus", function () {
  243. if ($.trim($(this).val()) == 0) {
  244. $(this).val("");
  245. }
  246. }).on("blur", function () {
  247. if ($.trim($(this).val()).length == 0) {
  248. $(this).val("0");
  249. }
  250. });
  251. $(".calculator input").focus(function(){
  252. if($(this).val()==0){
  253. $(this).val("")
  254. }else{
  255. $(this).select()
  256. }
  257. });
  258. });
  259. var fill = function (e) {
  260. var total = validValue("total");
  261. var first = validValue("first");
  262. if (type != 3) {
  263. var loan = Math.round((total - first) * 100) / 100;
  264. $(".loan:visible").val(loan);
  265. }
  266. };
  267. //刷新利率
  268. var refreshRate = function () {
  269. var year = $("#years").val();
  270. var lv = $("#rate").val();
  271. var rate = 0;
  272. rate = Math.round(cal.getRate(1, year, lv) * 100 * 100) / 100;
  273. $(".ratelv:eq(0)").text(rate + "%");
  274. rate = Math.round(cal.getRate(2, year, lv) * 100 * 100) / 100;
  275. $(".ratelv:eq(1)").text(rate + "%");
  276. };
  277. var validValue = function (id) {
  278. var con = $("#" + id);
  279. var _val = $.trim(con.val());
  280. if (_val.length == 0 || !/^\d+(\.{0,1}(\d+)?)?$/g.test(_val)) {
  281. _val=0;
  282. }
  283. return parseFloat(_val);
  284. }
  285. </script>
  286. </body>
  287. </html>