searchAbroad.js 14 KB

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