perArea(){ if($('.parent1.reflect').length===0){ $('#super1').removeClass('hovered') }else{ $('#super1').addClass('hovered') } if($('.parent2.reflect').length===0){ $('#super2').removeClass('hovered') }else{ $('#super2').addClass('hovered') } if($('.parent3.reflect').length===0){ $('#super3').removeClass('hovered') }else{ $('#super3').addClass('hovered') } if($('.parent4.reflect').length===0){ $('#super4').removeClass('hovered') }else{ $('#super4').addClass('hovered') } if($('.parent88.reflect').length===0){ $('#super88').removeClass('hovered') }else{ $('#super88').addClass('hovered') } refresh_Input_Box("refreshSuperArea"); } function refresh_Input_Box(track_code){ console.log(`Track Code:${ track_code }`) var isSelected = false; //Area - nearby var temp_store = Array() $('.nearby.reflect').each(function(ele){ var val = $('.nearby.reflect')[ele].getAttribute('value') if(val!=null){ temp_store.push(val) isSelected = true } }) //$("#nearby").val(temp_store.join(",")) if(temp_store.length>0){search_url['tance'] = temp_store.join(",");} else{delete(search_url['tance']);} //Area - cities var temp_store = Array() $('.cityselement.reflect').each(function(ele){ if(!$('.cityselement.reflect')[ele].classList.contains('nearby')){ var val = $('.cityselement.reflect')[ele].getAttribute('value') if(val!=null){ temp_store.push(val) isSelected = true } } }) $("#cities").val(temp_store.join(",")) if(temp_store.length>0){search_url['cities'] = temp_store.join(",");} else{delete(search_url['cities']);} //Price - prices var temp_store = Array() $('.priceselement.reflect').each(function(ele){ var val = $('.priceselement.reflect')[ele].getAttribute('value') if(val!=null){ temp_store.push(val) isSelected = true } }) $("#prices").val(temp_store.join(",")) if(temp_store.length>0){search_url['prices'] = temp_store.join(",");} else{delete(search_url['prices']);} //Sort - sorts var temp_store = Array() $('.sortselement.reflect').each(function(ele){ var val = $('.sortselement.reflect')[ele].getAttribute('value') if(val!=null){ temp_store.push(val) isSelected = true } }) $("#sorts").val(temp_store.join(",")) if(temp_store.length>0){search_url['sorts'] = temp_store.join(",");} else{delete(search_url['sorts']);} //Offer - shoptypes var temp_store = Array() $('.shoptypeselement.reflect').each(function(ele){ var val = $('.shoptypeselement.reflect')[ele].getAttribute('value') if(val!=null){ temp_store.push(val) isSelected = true } }) $("#shoptypes").val(temp_store.join(",")) if(temp_store.length>0){search_url['shoptypes'] = temp_store.join(",");} else{delete(search_url['shoptypes']);} if(false!=true){ if($('.shoptypeselement.reflect').length>0) { search_url["onlybooking"] = 1 $("#online_booking_btn").css("background-color","#FAEFEF") $("#online_booking_btn").find("span").addClass("reign") }else{ delete(search_url["onlybooking"]) $("#online_booking_btn").css("background-color","#F3F3F4") $("#online_booking_btn").find("span").removeClass("reign") } } //Payment Method - bookpays var temp_store = Array() $('.bookpayselement.reflect').each(function(ele){ var val = $('.bookpayselement.reflect')[ele].getAttribute('value') if(val!=null){ temp_store.push(val) isSelected = true } }) $("#bookpays").val(temp_store.join(",")) if(temp_store.length>0){search_url['bookpays'] = temp_store.join(",");} else{delete(search_url['bookpays']);} //Service Location var temp_store = Array() $('.service_locationelement.reflect').each(function(ele){ var val = $('.service_locationelement.reflect')[ele].getAttribute('value') if(val!=null){ temp_store.push(val) isSelected = true } }) $("#service_location").val(temp_store.join(",")) if(temp_store.length>0){search_url['service_location'] = temp_store.join(",");} else{delete(search_url['service_location']);} //Merchant Type - merchantType var temp_store = Array() $('.merchantTypeelement.reflect').each(function(ele){ var val = $('.merchantTypeelement.reflect')[ele].getAttribute('value') if(val!=null){ temp_store.push(val) isSelected = true } }) $("#merchantType").val(temp_store.join(",")) if(temp_store.length>0){search_url['merchantType'] = temp_store.join(",");} else{delete(search_url['merchantType']);} //Time Button $('.selTime_btn.reflect').each(function(ele){ isSelected = true }) if(isSelected){ //$("#cfmbtn").addClass("se_afbtn"); }else{ //$("#cfmbtn").removeClass("se_afbtn"); } //Time if($('.selTime_btn.CselTime.reflect').length===0){ delete(search_url["start"]); delete(search_url["end"]); } //Area if($('.cityselement.selectionBox.reflect').length===0){ $("#citycat").removeClass('hovered') }else{ $("#citycat").addClass('hovered') } //Price if($('.priceselement.selectionBox.reflect').length===0){ $("#pricecat").removeClass('hovered') }else{ $("#pricecat").addClass('hovered') } //Sort if($('.sortselement.selectionBox.reflect').length===0){ $("#sortcat").removeClass('hovered') }else{ $("#sortcat").addClass('hovered') } //Offer if($('.shoptypeselement.selectionBox.reflect').length===0){ $("#shoptypecat").removeClass('hovered') }else{ $("#shoptypecat").addClass('hovered') } //Payment Method if($('.bookpayselement.selectionBox.reflect').length===0){ $("#bookpaycat").removeClass('hovered') }else{ $("#bookpaycat").addClass('hovered') } //Merchant Type if($('.merchantTypeelement.selectionBox.reflect').length===0){ $("#merchantType").removeClass('hovered') }else{ $("#merchantType").addClass('hovered') } if($('.service_locationelement.selectionBox.reflect').length===0){ $("#service_locationcat").removeClass('hovered') }else{ $("#service_locationcat").addClass('hovered') } refresh_search_button_result_number("ee4d") } var xhr_get_result_number = ""; function refresh_search_button_result_number(track){ console.log(`Count Number: ${ track }`); if(xhr_get_result_number!=="" && xhr_get_result_number!==undefined){ xhr_get_result_number.abort() } if( (search_url['bookpays'] == "" || search_url['bookpays'] == null) && (search_url['category'] == "" || search_url['category'] == null) && (search_url['city'] == "" || search_url['city'] == null) && (search_url['cities'] == "" || search_url['cities'] == null) && (search_url['prices'] == "" || search_url['prices'] == null) && (search_url['shoptypes'] == "" || search_url['shoptypes'] == null) && (search_url['sorts'] == "" || search_url['sorts'] == null) && (search_url['tance'] == "" || search_url['tance'] == null) && (search_url['service_location'] == "" || search_url['service_location'] == null) && (search_url['start'] == "" || search_url['start'] == null || search_url['start'] == undefined) && (search_url['end'] == "" || search_url['end'] == null || search_url['end'] == undefined) ){ $(".filter_search_btn").html(`搜尋`) }else{ xhr_get_result_number = $.ajax({ type: 'GET', url: '/api_v1/public/web/1.0/1.4/place/search_result_number', data: search_url, dataType: 'json', beforeSend: function(){ $(".filter_search_btn").html(`
`) }, success: function(data) { if(data.result.actual>0){ $(".filter_search_btn").html(`${ data.result.display } 結果`) }else{ $(".filter_search_btn").html(`0 結果`) } }, error: function(){ $(".filter_search_btn").html(`0 結果`) } }); } } function selectrange(date){ delete(search_url["range"]); if(search_url["date"]==String(date)){ delete(search_url["date"]); }else{ search_url["date"]=String(date); delete(search_url["start"]); delete(search_url["end"]); } search_url["page"]=1; is_zero=1; roadshow(); } function restartsearch(obj){ console.log("954e9616-f6f6-4ed7-842f-076b52e98b3d"); startsearch($(obj)); } function startsearch(obj){ search_url[obj.attr('type_type')]=obj.attr('type_value'); if('category'==obj.attr('type_type')){ // delete(search_url['keywords']); if(obj.attr('type_value').length===0){ search_url['placeaddress'] = ""; search_url['categoryname'] = ""; search_url['categoryName'] = ""; search_url['categorysName'] = ""; search_url['categories'] = ""; search_url['category'] = ""; search_url['cities'] = ""; search_url['city'] = ""; } }else if('categories'==obj.attr('type_type')){ // delete(search_url['keywords']); if(obj.attr('type_value').length===0){ search_url['placeaddress'] = ""; search_url['categoryname'] = ""; search_url['categoryName'] = ""; search_url['categorysName'] = ""; search_url['categories'] = ""; search_url['category'] = ""; search_url['cities'] = ""; search_url['city'] = ""; }else{ search_url['categorysName'] = ""; search_url['districtsName'] = ""; } }else if('onlybooking'==obj.attr('type_type')){ if(obj.attr('type_value').length===0){ delete(search_url['date']) } } else if('cities'==obj.attr('type_type')){ delete(search_url['placeaddress']); delete(search_url['tance']); } else if('tance'==obj.attr('type_type')){ delete(search_url['placeaddress']); delete(search_url['cities']); } var show_str = obj.html(); $("*[type_type="+obj.attr('type_type')+"]").removeClass('reign'); if(obj.attr('type_value') != '') { obj.addClass('reign'); } $("#"+obj.attr('type_type')+" span").html(show_str); search_url["page"]=1; is_zero=1; if (true) { const currentUrl = window.location.href; const mapParamIndex = currentUrl.indexOf('&map=1'); if (mapParamIndex !== -1) { console.log('The &map=1 parameter exists in the URL.'); // Code to execute when it exists } else { console.log('The &map=1 parameter does not exist in the URL.'); // Code to execute when it doesn't exist delete (search_url['map']) } } roadshow(); } function showsel(target){ console.log("showsel()") $(".filchild").hide(); $("#"+target).show(); } function reflect(ele){ $(ele).toggleClass("reflect"); offset = parseInt($(ele).attr("tran")); now = new Date(); time = Math.floor(now.getTime()/1000); minutes = now.getMinutes(); diff = 15*Math.ceil(minutes/15)-minutes; switch (offset){ case 0: //4 hours delete(search_url["start"]); delete(search_url["end"]); break; case 1: //1 hour case 2: //2 hour case 3: //3 hour search_url["start"]=time+diff*60; search_url["end"]=time+offset*3600+diff*60; search_url["onlybooking"]=1; break; default: alert("Invalid selection"); } $("#timecat").addClass("hovered"); //$("#cfmbtn").addClass("se_afbtn"); if($('.selTime_btn.CselTime.reflect').length==0){ $('#timecat').removeClass("hovered") } refresh_Input_Box("ft3d") } function swipe1(id,dir){ element = document.getElementById(id); console.log(element); console.log(dir); dx = dir*372; if (element==null) return; element.scrollBy(dx,0); z = $("#"+id+"holder .arrow_l"); $("#"+id+"holder .scrol_arrow_l")[0].hidden = !(element.scrollLeft); $("#"+id+"holder .scrol_arrow_r")[0].hidden = !(element.scrollWidth!=element.scrollLeft+element.clientWidth); } function fakesubmit(){ if (typeof(search_url["city"])!="undefined" && search_url["city"]!=''){ delete(search_url["placeaddress"]); } roadshow(); } function resetFilter(){ history.pushState({}, "Search Page", "/mobile/index.php?act=search2"); $("#citycat").removeClass('hovered') $("#pricecat").removeClass('hovered') $("#sortcat").removeClass('hovered') $("#shoptypecat").removeClass('hovered') $("#bookpaycat").removeClass('hovered') $("#service_locationcat").removeClass('hovered') $("#merchantType").removeClass('hovered') $('.tancelement').removeClass('hovered') $('.cityselement').removeClass('reflect') $('.priceselement').removeClass('reflect') $('.sortselement').removeClass('reflect') $('.shoptypeselement').removeClass('reflect') $('.bookpayselement').removeClass('reflect') $('.selTime_btn').removeClass('reflect') $('.service_locationelement').removeClass('reflect') search_url["category"] = null; search_url["bookpays"] = null; search_url["city"] = null; search_url["cities"] = null; search_url["merchantType"] = null; search_url["prices"] = null; search_url["shoptypes"] = null; search_url["sorts"] = null; search_url["start"] = null; search_url["end"] = null; search_url["service_location"] = null; target.state.value.min='25' let slider2 = 5785; target.state.value.max=slider2 > 96? 96 : slider2; target.forceUpdate() $(".filter_search_btn").html(`搜尋`) } function rbooking(){ if (search_url==null) return; //error if (search_url["act"]=="search"){ search_url["act"]="search2"; } else{ search_url["act"]="search"; if (search_url["range"]!=null) delete(search_url["range"]); } roadshow(); } function groupselect(group,value,ele){ var allowLoad; if(value === ""){ switch (group) { case 'bookpays': //document.querySelector('#unspecified_bookpay_45c8fbf1').classList.remove('reflect') $("."+group+"element").removeClass("reflect"); break case 'shoptypes': //document.querySelector('#unspecified_shopType_546c').classList.remove('reflect') $("."+group+"element").removeClass("reflect"); break case 'merchantType': //document.querySelector('#unspecified_shopType_9369dff').classList.remove('reflect') $("."+group+"element").removeClass("reflect"); break case 'sorts': $("."+group+"element").removeClass("reflect"); break case 'prices': //document.querySelector('#unspecified_shopType_f4f11').classList.remove('reflect') $("."+group+"element").removeClass("reflect"); break case 'service_location': $("."+group+"element").removeClass("reflect"); break } $(ele).addClass("reflect"); allowLoad = false console.log("3se2") }else{ allowLoad = true switch (group) { case 'bookpays': allowLoad = false //document.querySelector('#unspecified_bookpay_45c8fbf1').classList.remove('reflect') //$("."+group+"element").removeClass("reflect"); if (ele.classList.contains("reflect")){ ele.classList.remove("reflect"); }else{ if($("."+group+"element").hasClass("reflect")){ $("."+group+"element").removeClass("reflect"); } ele.classList.add("reflect"); } break case 'shoptypes': //document.querySelector('#unspecified_shopType_546c').classList.remove('reflect') break case 'sorts': document.querySelector('#reset').classList.remove('reflect') $("."+group+"element").removeClass("reflect"); break case 'merchantType': //document.querySelector("#unspecified_shopType_9369dff").classList.remove('reflect') break case 'prices': //document.querySelector('#unspecified_shopType_f4f11').classList.remove('reflect') break case 'service_location': //$("."+group+"element").removeClass("reflect"); allowLoad = false if (ele.classList.contains("reflect")){ ele.classList.remove("reflect"); }else{ if($("."+group+"element").hasClass("reflect")){ $("."+group+"element").removeClass("reflect"); } ele.classList.add("reflect"); } break } console.log("fd5r") } if (allowLoad){ if (ele.classList.contains("reflect")){ ele.classList.remove("reflect"); }else{ ele.classList.add("reflect"); } } if (value!=""){ if (group=="shoptypes"){ search_url["act"]=="search2"; } search_url[group]=value; $("#"+group+"cat").addClass("hovered"); }else{ if (group=="shoptypes"){ search_url["act"]==""; } delete(search_url[group]); $("#"+group+"cat").removeClass("hovered"); } refresh_Input_Box("2ws4") } h=0; /**/ "use strict"; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var FilterTimeRangerApp = function (_React) { _inherits(FilterTimeRangerApp, _React); function FilterTimeRangerApp(props) { _classCallCheck(this, FilterTimeRangerApp); console.log(props); var _this = _possibleConstructorReturn(this, _React.call(this, props)); _this.state = { value: { min: 25, max: 5785 > 96? 96 : 5785} }; return _this; } FilterTimeRangerApp.prototype.render = function render() { var _this2 = this; return React.createElement( "form", { className: "form" }, React.createElement(InputRange, { maxValue: 96, minValue: 25, formatLabel: function formatLabel(value) { h = Math.floor(value/4); m = 15*(value%4); if (h<10){ h = "0"+h; } if (m<10){ m = "0"+m; } return h+":"+m; }, value: this.state.value, onChange: function onChange(value) { return _this2.setState({ value: value }); }, onChangeComplete: function onChangeComplete(value) { startstamp = 1784736000; range = 0; if (typeof(search_url["range"]!="undefined")){ if (search_url["range"]>1) range = (search_url["range"]-1) * 86400; } search_url["start"] = startstamp + value.min/4 *3600 + range; search_url["end"] = startstamp + value.max/4 *3600 + range; $("#cfmbtn").addClass("se_afbtn"); refresh_search_button_result_number("5rt6"); return console.log(value); } }) ); }; return FilterTimeRangerApp; }(React.Component); if (!!document.getElementById("timeSelectionBarApp")){ target = ReactDOM.render( React.createElement(FilterTimeRangerApp, null), document.getElementById("timeSelectionBarApp") ); target.id = "slider1"; } /**/ // sourceURL=pen.js

【電髮(直/曲)推介】 2026香港精選電髮(直/曲)店推介 | 即時預約

尋找頂級電髮(Perming)服務,享受一流設備與專業服務**

正在尋找2024年最時尚的電髮(Perming)服務嗎?BookFun 精選香港各區的髮型屋 Hair Salon。無論您想要一個時尚的造型、染髮、電髮/燙髮、頭髮護理,或是簡單的剪髮,我們的平台將您與全港最好的髮型屋 Hair Salon聯繫起來。從快速修剪到先進的電髮技術,如挑染(Highlight)、漸層染及漂染,我們都能為您提供完美的服務。我們的髮型屋 Hair Salon還提供專業的頭髮護理服務,包括髮質矯正、巴西焗油、 Paimore 療程和頭皮護理等,讓您走在最新髮型潮流的前沿。

我們了解髮型設計不僅僅是剪髮,BookFun平台上的髮型屋 Hair Salon提供多樣化的服務,包括男士、女士和兒童的洗剪吹、染髮、燙髮以及頭皮護理或受損髮質的療程。無論您想要梨花頭、日系瀏海,還是韓系曲髮,您都可以找到技術嫻熟的髮型師並使用最新的技術和產品為您服務。我們的服務遍佈香港熱門地區,包括銅鑼灣、尖沙咀、旺角和荃灣,確保您能在家附近找到合適的電髮服務。

透過 BookFun 預訂電髮既簡單又方便。您只需瀏覽想預約的髮型屋 Hair Salon,選擇您想要的服務,並選擇日子和時間。不論您使用我們的應用程式或網站,您都能享受無縫的電髮預約體驗。此外,透過會員評論、髮型屋 Hair Salon的照片,且無隱藏費用,您可以完全了解電髮的服務。立即使用各種BookFun的特別優惠和折扣,預訂您的頂級電髮服務。

常見問題

在 BookFun 上可以找到哪些髮型屋 Hair Salon服務?

BookFun 提供多種髮型屋 Hair Salon服務,包括男女剪髮、染髮(挑染 Highlight、漸層染、漂染)、電髮/燙髮,以及護理服務,如角蛋白護理、頭皮護理和接髮。不同服務的時間長短不一,基本剪髮約需1小時,而染髮或電髮/燙髮等較複雜的服務可能需要3至4小時。

如何在 BookFun 上預訂髮型屋 Hair Salon服務?

預訂流程非常簡單。選擇您喜歡的髮型屋 Hair Salon及服務,選擇合適的時間和日期,並完成預約。預約確認後,您將收到電子郵件或簡訊通知。您也可以透過應用程式或網站管理您的預約。

我可以指定某位設計師嗎?

是的,您可以在許多髮型屋 Hair Salon中選擇您偏好的設計師。服務頁面上將列出他們的空檔時間。如果需要更多資訊,您可以直接聯絡髮型屋 Hair Salon。

預訂髮型屋 Hair Salon服務需要支付訂金嗎?

某些髮型屋 Hair Salon可能要求訂金,這會在服務頁面上明確標示。如果頁面上未提及,則無需支付訂金即可完成預訂。

髮型屋 Hair Salon是否提供售後服務?

部分髮型屋 Hair Salon提供售後服務,例如補色或額外護理服務。您可以在髮型屋 Hair Salon的服務頁面查看是否有提供售後服務。

透過 BookFun 預約會收取額外費用嗎?

不會,BookFun 不會收取額外的預訂費用。所有費用都清晰顯示,您只需支付您選擇的服務費用。

每項髮型屋 Hair Salon服務需要多久?

每項服務所需的時間取決於具體項目。剪髮通常約需1小時,而染髮、電髮/燙髮或接髮可能需要3至4小時。服務頁面上有具體的時間說明。