loan.php 13 KB

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