search.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428
  1. // $(window).scroll(function (){
  2. // var st = $(this).scrollTop();
  3. // if(st >50){
  4. // $('.y_header').hide();
  5. // $('.wm-top').show();
  6. // $('.wm-top').addClass('wtop');
  7. // }else{
  8. // $('.wm-top').hide();
  9. // $('.wm-top').removeClass('wtop');
  10. // $('.y_header').show();
  11. // }
  12. // });
  13. function Qalert(num = 0) {
  14. var M = {};
  15. if(M.dialog1){
  16. return M.dialog1.show();
  17. }
  18. M.dialog1 = jqueryAlert({
  19. 'content' : '已为您找到<span style="color:#FF6926;font-size: 1.0rem;"> '+num+' </span>套房源',
  20. 'closeTime' : 4000,
  21. })
  22. }
  23. Qalert($('.feng_count').attr('house_data'));
  24. function getParams(url) {
  25. var theRequest = new Object();
  26. if (!url)
  27. url = location.href;
  28. if (url.indexOf("?") !== -1)
  29. {
  30. var str = url.substr(url.indexOf("?") + 1) + "&";
  31. var strs = str.split("&");
  32. for (var i = 0; i < strs.length - 1; i++)
  33. {
  34. var key = strs[i].substring(0, strs[i].indexOf("="));
  35. var val = strs[i].substring(strs[i].indexOf("=") + 1);
  36. theRequest[key] = val;
  37. }
  38. }
  39. return theRequest;
  40. }
  41. var objUrl = {}; //获取get参数
  42. var url = window.location.href;
  43. var searchParams = ''; //最后拼接的参数
  44. var urlParams = '';
  45. // 页数
  46. var page = 1;
  47. // 每页展示5个
  48. var size = 10;
  49. var params = getParams(url); //获取get请求的参数
  50. if(!$.isEmptyObject(params)){
  51. $.each(params,function(key,val){
  52. if(key == 'city') feng_cityTel = val;
  53. objUrl[key] = val;
  54. urlParams += key+'='+val+'&';
  55. })
  56. urlParams = urlParams.substring(0,urlParams.length - 1);
  57. searchParams = '&'+ urlParams;
  58. }
  59. $('.m_click').on('click','a.link_click',function () {
  60. var _this = $(this);
  61. if(_this.attr('name') == 'city' && _this.attr('value') != 0){
  62. $('.m_Popup_box').hide();
  63. }
  64. $('.m_Popup_box').hide();
  65. var nameattr = $(this).attr('name');
  66. $('.feng_'+nameattr).children('span').html(_this.html());
  67. if( _this.attr('name') == 'price'){
  68. var subject = price_deal(_this.find('span').text());
  69. if(subject != 1){
  70. $('.feng_'+nameattr).children('span').html(subject);
  71. }else{
  72. $('.feng_'+nameattr).children('span').html(_this.html());
  73. }
  74. }
  75. if(_this.attr('name') == 'city'){
  76. objUrl['py'] = _this.attr('pinyin');
  77. }
  78. var ParamsArr = ['city','type','characteristic','price','py']; //搜索字段
  79. var atrName = _this.attr('name');
  80. var _val = _this.attr('value');
  81. var urlParams = '';
  82. for (var k in ParamsArr){
  83. if(ParamsArr[k] == atrName){
  84. objUrl[atrName] = _val;
  85. delete objUrl.page;
  86. delete objUrl.name;
  87. }
  88. }
  89. $.each(objUrl,function(key,val){
  90. if(key == 'py') return true; //跳出当前循环
  91. urlParams += key+'='+val+'&';
  92. })
  93. var cityUrl = '';
  94. urlParams = urlParams.substring(0,urlParams.length - 1);
  95. if(typeof objUrl.py == 'string'){
  96. cityUrl = 'py='+objUrl.py+'&';
  97. }
  98. if(urlParams == '' && cityUrl != '')
  99. {
  100. cityUrl = cityUrl.substring(0,cityUrl.length - 1);
  101. }
  102. window.location.href = '/house/search?'+ cityUrl+urlParams;
  103. })
  104. $(function(){
  105. var onoff=true;
  106. $('.y_homelist_list').dropload({
  107. scrollArea : window,
  108. domDown : {
  109. domClass : 'dropload-down',
  110. domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>',
  111. domLoad : '<div class="dropload-load"><span class="loading"></span>加载中...</div>',
  112. domNoData : '<div class="dropload-noData">我也是有底线的...</div>'
  113. },
  114. loadDownFn : function(me,da){
  115. page++;
  116. // 拼接HTML
  117. var result = '';
  118. $.ajax({
  119. type: 'GET',
  120. url: '/house/searchdata?page='+page+'&limit='+size+searchParams,
  121. dataType: 'json',
  122. async:false,
  123. success: function(data){
  124. // if(data.count){
  125. // Qalert(data.count);
  126. // }
  127. var data = data.data;
  128. if(data != null){
  129. $.each(data,function (key,val) {
  130. var randomX = 300;
  131. var randomY = 800;
  132. var randvalue = parseInt(Math.random() * (randomX - randomY + 1) + randomY);
  133. var dataID = (key+1)+(page-1)*size;
  134. if(dataID % 4 == 0){
  135. if(onoff){
  136. result += apply();
  137. onoff=false;
  138. }
  139. }
  140. result += '<li class="c">'
  141. +'<div class="m_box c">'
  142. +'<div class="y_img">'
  143. +'<p class="y_tu"><a href="/house/'+val.id+'/"><img src="'+val.thumb+'/same" alt=""><i>'+val.city_name+'</i></a></p>'
  144. +'<p class="y_licyit" style="display:none">视频</p>'
  145. +'<i style="display:none"><img src="/image/search/w_v.png" alt="" /></i>'
  146. +'</div>'
  147. +'<div class="y_text">'
  148. +'<div class="y_text_main">'
  149. +'<a href="/house/'+val.id+'/">'
  150. result+='<p class="y_title"><span>'+val.name+'</span></p>';
  151. if(val.sale_price != 0 && val.sale_price != null && val.sale_price != ''){
  152. result+= '<p class="y_jiage"><span>'+ val.sale_price +'</span><em>'+val.price_unit+'</em></p>';
  153. }else{
  154. result+='<p class="y_jiage"><span>待定</span></p>';
  155. }
  156. result+='<p class="y_shijian">有效期 | '+time+'-'+getNextMonth(time)+'</p>';
  157. result+='<p class="y_tese">'
  158. if(val.characteristic){
  159. $.each(val.characteristic,function(k,v){
  160. result +='<i>'+v+'</i>';
  161. })
  162. }
  163. result+='</p>'
  164. result+='</a>'
  165. +'</div>'
  166. +'<div class="y_text_call">'
  167. +'<a href="tel:'+val.citytel+'"><img src="/image/v2/search3.png" alt="'+val.citytel+'"></a>'
  168. +'</div>'
  169. +'</div>'
  170. +'</div>'
  171. +'<div class="m_gzlx_box c">'
  172. +'<div class="m_gzlx c">'
  173. +'<p class="m_gzlx_l"><img src="/image/v2/index6.png" alt="">楼盘热度</p>'
  174. +'<p class="m_gzlx_r">已有'+val.click_num+'人浏览</p>'
  175. +'</div>'
  176. // +'<span>2室/3室/其他</span>'
  177. +'</div>'
  178. +'</li>'
  179. })
  180. $('.y_homelist_list ul').append(result);
  181. // 如果没有数据
  182. }else{
  183. // 锁定
  184. me.lock();
  185. // 无数据
  186. me.noData();
  187. }
  188. me.resetload();
  189. // 为了测试,延迟1秒加载
  190. // setTimeout(function(){
  191. // // 插入数据到页面,放到最后面
  192. // $('.y_homelist_list ul').append(result);
  193. // // 每次数据插入,必须重置
  194. // me.resetload();
  195. // },100);
  196. },
  197. error: function(xhr, type){
  198. // alert('Ajax error!');
  199. // 即使加载出错,也得重置
  200. me.resetload();
  201. }
  202. });
  203. }
  204. });
  205. });
  206. $.each($('.m_nav_qy').find('a'),function(){
  207. var each_name = $(this).attr('name');
  208. var each_val = $(this).attr('value');
  209. if(each_val == objUrl[each_name]){
  210. $(this).attr('id','nav');
  211. }
  212. })
  213. //
  214. $(".m_click").on('click','a.link-item',function(){
  215. var _this = $(this);
  216. _this.addClass('on');
  217. _this.siblings().removeClass('on');
  218. $('.m_region_r').show();
  219. // _this.show();
  220. $.post('/house/soncity',{pid:_this.attr('value')},function(data){
  221. $(".m_region_r").html('');
  222. if(data.code == 200){
  223. var str = '';
  224. str += '<a class="link_click" name="city" pinyin="'+_this.attr('pinyin')+'" value="'+_this.attr('value')+'" href="javascript:;">'+_this.html()+'</a>';
  225. $.each(data.data,function (k,v) {
  226. str += '<a class="link_click" name="city" pinyin="'+v.pinyin+'" value="'+v.id+'" href="javascript:;"><span>'+v.city_name+'</span></a>';
  227. })
  228. }
  229. $(".m_region_r").append(str);
  230. })
  231. })
  232. // 有效期 时间加两个自然月
  233. function getNextMonth(date) {
  234. var arr = date.split('/');
  235. var year = arr[0]; //获取当前日期的年份
  236. var month = arr[1]; //获取当前日期的月份
  237. var day = arr[2]; //获取当前日期的日
  238. var days = new Date(year, month, 0);
  239. days = days.getDate(); //获取当前日期中的月的天数
  240. var year2 = year;
  241. var month2 = parseInt(month) + 2;
  242. if (month2 > 13) {
  243. year2 = parseInt(year2) + 1;
  244. if (parseInt(month)==11) {
  245. month2 = 1;
  246. }else if (parseInt(month)==12) {
  247. month2 = 2;
  248. };
  249. }
  250. var day2 = day;
  251. var days2 = new Date(year2, month2, 0);
  252. days2 = days2.getDate();
  253. if (day2 > days2) {
  254. day2 = days2;
  255. }
  256. if (month2 < 10) {
  257. month2 = '0' + month2;
  258. }
  259. var t2 = year2 + '/' + month2 + '/' + day2;
  260. return t2;
  261. }
  262. var myDate = new Date;
  263. var year = myDate.getFullYear(); //获取当前时间年份
  264. var yue = myDate.getMonth()+1;//获取当前时间月份
  265. if (yue<10) {
  266. yue= '0' + yue;
  267. };
  268. // 有效期时间 获取当前时间
  269. var time = year+'/'+yue+'/01';
  270. // 处理选中价格
  271. function price_deal(subject){
  272. switch(subject){
  273. case '8000-10000元':
  274. subject = '8千-1万';
  275. break;
  276. case '6000-8000元':
  277. subject = '6-8千';
  278. break;
  279. case '4000-6000元':
  280. subject = '4-6千';
  281. break;
  282. case '4000元以下':
  283. subject = '4千以下';
  284. break;
  285. default:
  286. subject = 1;
  287. break;
  288. }
  289. return subject;
  290. }
  291. // 处理跳转过来选中价格
  292. var textspan=$('.y_qylist_con').eq(1).find('p.feng_price span').text();
  293. $('.y_qylist_con p.feng_price span').html(price_deal2(textspan))
  294. function price_deal2(subject2){
  295. switch(subject2){
  296. case '8000-10000元':
  297. subject2 = '8千-1万';
  298. break;
  299. case '6000-8000元':
  300. subject2 = '6-8千';
  301. break;
  302. case '4000-6000元':
  303. subject2 = '4-6千';
  304. break;
  305. case '4000元以下':
  306. subject2 = '4千以下';
  307. break;
  308. }
  309. return subject2;
  310. }
  311. // 添加报名窗口
  312. function apply(){
  313. var _div ="";
  314. _div +='<div class="w_apply" >';
  315. // _div +='<div class="w_fn">设置楼盘动态提醒,加推开盘早知道</div>'
  316. // _div +='<img src="" alt="" />'
  317. _div +='<div class="w_apply_img">';
  318. // _div +='<a class="popup" href="javascript:void(0);" data-name="置业顾问" data-text="针对需求荐房,买房不走弯路" data-id="0" data-module="25" data-button="立即咨询">';
  319. _div +='<img src="/image/v2/wsearch5.png" alt="">';
  320. // _div +='</a>';
  321. _div +='</div>';
  322. _div +='<form class="submit_area">';
  323. _div +='<input type="hidden" name="hid" value="0"> <!-- 0 为公共报名,其它为楼盘ID-->';
  324. _div +='<input type="hidden" name="source" value="25"> <!--报名来源 具体查看applyVerify.js文件中SourceModule 标识说明-->';
  325. _div +='<input type="hidden" name="equipment" value="1"> <!--来源设备 ( PC端 2,手机端 1 )-->';
  326. _div +='<input class="w_apply_txt" type="text" name="mobile" placeholder="请输入手机号">';
  327. _div +='<a class="apply_submit" href="javascript:;">帮我找房</a>';
  328. _div +='</form>';
  329. _div +='</div>';
  330. return _div;
  331. }
  332. $('.y_qylist_con').on('click',function(){
  333. var _dataid = $(this).attr('data-id');
  334. $('.m_Popup').hide();
  335. $('.m_Popup_box').show();
  336. $('.m_Popup_box .m_Popup[data-id="'+_dataid+'"]').show();
  337. shanwutong(); //修改商务通层级 /js/nav.js
  338. })
  339. $('.Close').on('click',function(){
  340. $('.m_Popup_box').hide();
  341. })
  342. //获取url中的参数
  343. function getUrlParam(name){
  344. //构造一个含有目标参数的正则表达式对象
  345. var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
  346. //匹配目标参数
  347. var r = window.location.search.substr(1).match(reg);
  348. //alert(r);
  349. //返回参数值
  350. if (r!=null) return decodeURI(r[2]);
  351. return null;
  352. }
  353. var _price = getUrlParam('price'); //价格
  354. var _characteristic = getUrlParam('characteristic'); //类型
  355. var _type = getUrlParam('type'); //户型
  356. // 筛选 选中效果
  357. $('.m_click[name="price"] .link_click[value="'+_price+'"]').addClass('on');
  358. $('.m_click[name="type"] .link_click[value="'+_type+'"]').addClass('on');
  359. $('.m_click[name="characteristic"] .link_click[value="'+_characteristic+'"]').addClass('on');