No Description

choice_city.js 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. var token = '';
  2. var qs = parseQueryString(window.location.href);
  3. var cityList = [];
  4. if (qs.token) {
  5. token = qs.token;
  6. }
  7. function deleteSearch () {
  8. $("#search input").val("")
  9. $("#city_02 .container ul").html("");
  10. $("#search").addClass("search");
  11. $("#search").removeClass("search_02");
  12. $(".searchBox").css({
  13. 'padding-bottom': '0',
  14. 'background': '#f3f3f3'
  15. })
  16. $("#city_02").css("display",'none')
  17. $("#city_01").css("display",'block')
  18. if ($('html').scrollTop()) {
  19. $('html').animate({ scrollTop: 0 }, 10);
  20. return false;
  21. }
  22. $('body').animate({ scrollTop: 0 }, 10);
  23. }
  24. /**
  25. * [getLoginInfo 获取城市登录信息]
  26. */
  27. function getLoginInfo() {
  28. $.ajax({
  29. type: "GET",
  30. url: BASEURL + '/city_list?type=fund&sort=true&token=' + token + '&time=' + Math.round(Date.now() / 1000),
  31. contentType: 'application/json;charset=utf-8',
  32. success: function(data) {
  33. cityList = data;
  34. return renderLoginInfo(cityList);
  35. },
  36. error: function(err) {
  37. return showMsg('获取城市信息失败:' + JSON.parse(err.responseText).error);
  38. }
  39. });
  40. }
  41. /**
  42. * [renderLoginInfo 渲染城市登录信息]
  43. * @param {[type]} cityInfo [城市登录信息]
  44. */
  45. function renderLoginInfo(cityInfo) {
  46. var bind_name = 'input';
  47. if (navigator.userAgent.indexOf("MSIE") != -1){
  48. bind_name = 'propertychange';
  49. }
  50. $("#search input").bind(bind_name, function(){
  51. var searchName = $("#search input").val().trim();
  52. var html = '';
  53. if(searchName != ""){
  54. $("#search").removeClass("search");
  55. $("#search").addClass("search_02");
  56. $(".searchBox").css({
  57. 'padding-bottom': '0.2rem',
  58. 'background': '#ffffff'
  59. })
  60. $("#city_02").css("display",'block')
  61. $("#city_01").css("display",'none')
  62. $("#search em").css("display","block")
  63. for(key in cityInfo){
  64. if(key != "hot"){
  65. cityInfo[key].forEach(function (item,index) {
  66. if(item.region.indexOf(searchName) != -1){
  67. html += `<li data-code=${item.regionCode}>${item.region}</li>`
  68. }else if(item.pinyin.indexOf(searchName) != -1){
  69. html += `<li data-code=${item.regionCode}>${item.region}</li>`
  70. }
  71. })
  72. }
  73. }
  74. if(html != ""){
  75. $("#city_02 .container ul").html(html)
  76. }else{
  77. html += `<li class="searchActive">无结果</li>`;
  78. $("#city_02 .container ul").html(html)
  79. }
  80. }else{
  81. $("#search").addClass("search");
  82. $("#search").removeClass("search_02");
  83. $(".searchBox").css({
  84. 'padding-bottom': '0',
  85. 'background': '#f3f3f3'
  86. })
  87. $("#city_02").css("display",'none')
  88. $("#city_01").css("display",'block')
  89. $("#search em").css("display","none")
  90. $("#city_02 .container ul").html(html)
  91. }
  92. })
  93. $("#city_02 .container ul").on("click", function(e) {
  94. var target = e.target;
  95. if ($(target).is("li")) {
  96. if($(target).attr("class") != "searchActive"){
  97. var city = $(target).text().trim();
  98. var code = $(target).attr('data-code');
  99. if (document.referrer.indexOf('&name=') === -1) {
  100. window.location.href = './fund_h5_api.html?token=' + token + '&name=' + city + '&code=' + code;
  101. } else {
  102. window.location.href = document.referrer.replace(/&name=[^&]+&code=[^&]+/, '&name=' + city + '&code=' + code);
  103. }
  104. }
  105. }
  106. });
  107. }
  108. /**
  109. * [showMsg 提示各种错误信息,3s后消失]
  110. */
  111. function showMsg(msg) {
  112. var msgBox = $('.alert-info');
  113. msgBox.children('p').text(msg);
  114. msgBox.show();
  115. setTimeout(function() {
  116. msgBox.hide();
  117. }, 3000);
  118. }
  119. $().ready(function () {
  120. getLoginInfo()
  121. })