Periksa label dan keadaan sebenar. Ramalan cuaca tidak menunjukkan ketahanan kalis air atau keupayaan terma leggings.
Terokai cuaca dengan lebih terperinci
Semak ramalan jam demi jam, senarai pakaian praktikal dan amaran rasmi AS. Kami hanya memuatkan apa yang anda minta.
📈 Jam dan 7 hari akan datang
Suhu, kelembapan, hujan, UV dengan langit cerah dan angin.
🎒 Senarai untuk keluar mengikut cuaca
Sediakan senarai menggunakan ramalan yang disimpan, tanpa pembelian atau panggilan tambahan.
⚠️ Amaran rasmi AS
Notis semasa dari National Weather Service untuk lokasi di Amerika Syarikat.
Sumber: MET Norway, PlaceDB (CC0) dan NWS. Senarai menggunakan ramalan dalam cache, bukan ujian pakaian.
Bagaimana nasihat disediakan
Kami gabungkan ramalan cuaca dengan pilihan anda, tanpa mereka-reka ciri pakaian.
Ramalan Sebenar
Suhu, rasa haba tersedia, angin dan hujan dari MET Norway.
Legging anda
Anda nyatakan sama ada ia ringan, biasa atau termal. Ini bukan ujian makmal.
Aktiviti anda
Perjalanan bandar dan berjalan jauh memerlukan lapisan pakaian yang berbeza.
Apa yang perlu dipakai dengan legging apabila sejuk, hujan atau berangin
Semak dahulu ramalan sebenar. Sesuaikan lapisan mengikut suhu, hujan, angin dan cuaca luar. Peratusan serat tidak mengukur berapa hangatnya.
❄️
Set legging untuk cuaca sejuk
Untuk perjalanan singkat, legging biasa, baju sejuk dan jaket sudah memadai. Dekat dengan sifar darjah atau semasa berjalan jauh, pertimbangkan penebat sebenar dan lapisan luar. Gunakan kasut bertutup dengan tapak cengkaman.
🌧️
Apa yang perlu dipakai dengan legging jika hujan
Kebanyakan legging tidak kalis air. Tambah lapisan luar kalis air, kasut bertutup dengan tapak yang baik dan pakaian yang boleh ditanggalkan di dalam bangunan.
🌬️
Hari berangin atau sederhana
Dengan angin, jaket kalis angin mungkin lebih penting daripada jenis serat. Dalam cuaca sederhana, pakai top yang selesa dan lapisan ringan yang mudah ditanggalkan.
Enam set untuk situasi sebenar
Ramalan adalah rujukan, bukan pakaian seragam. Sesuaikan lapisan mengikut perjalanan, aktiviti dan pakaian yang sudah anda miliki.
🌧️
Hujan di bandar
Padankan legging legap dengan baju sejuk, jaket kalis air dan kasut dengan cengkaman baik.
Sebelum keluar: Permukaan basah dan ruang dalaman yang dipanaskan memerlukan lapisan berbeza.
Lokasi tambahan dan koordinat anggaran: GeoNames, CC BY 4.0; pilihan editorial. GeoNames.
(function(){
"use strict";
var root=document.querySelector('[data-tool=weather]');if(!root)return;
var L={"find":"Cari lebih banyak bandar","hint":"Tak jumpa lokasi anda? Cari di negara pilihan atau muat lebih banyak negara. Tiada GPS atau carian berdasarkan IP.","lookup":"Nama tempat","search":"Cari lokasi","countries":"Lebih banyak negara","empty":"Tiada keputusan.","loading":"Mencari tempat…","choose":"Pilih tempat ini","intro":"Terokai cuaca dengan terperinci","lead":"Semak ramalan jam demi jam, senarai pakaian praktikal dan amaran rasmi AS. Kami hanya memuat apa yang anda minta.","forecast":"Jam dan 7 hari akan datang","forecastDesc":"Suhu, kelembapan, hujan, UV dengan langit cerah dan angin.","alerts":"Amaran rasmi AS","alertsDesc":"Amaran semasa dari National Weather Service untuk lokasi di Amerika Syarikat.","go":"Semak","hour":"Jam akan datang (UTC)","days":"Hari akan datang (tarikh UTC)","unavailable":"Sumber sementara tidak tersedia.","nothing":"Tiada nilai yang sesuai.","notUS":"Amaran NWS hanya tersedia di Amerika Syarikat.","noAlerts":"Tiada amaran rasmi yang aktif.","countryReady":"Senarai negara dimuatkan.","source":"Sumber: MET Norway, PlaceDB (CC0) dan NWS. Senarai menggunakan ramalan dalam cache, bukan ujian pakaian.","pack":"Senarai untuk keluar mengikut cuaca","packDesc":"Sediakan senarai menggunakan ramalan yang disimpan, tanpa pembelian atau panggilan tambahan.","packItems":["Legging anda","Pakaian hangat atau kot","Lapisan luar kalis hujan","Jaket kalis angin","Stokin hangat dan kasut bertutup","Kasut selesa dengan cengkaman"],"packCopy":"Salin senarai","packSaved":"Senarai disalin"},country=root.querySelector('#wa-country'),city=root.querySelector('#wa-city');
var input=root.querySelector('#wa-place-query'),matches=root.querySelector('.wa-place-matches'),status=root.querySelector('.wa-place-status-text');
function item(tag,value){var e=document.createElement(tag);e.textContent=String(value);return e;}
function query(){
var opt=city.selectedOptions[0],p=new URLSearchParams();
if(opt&&opt.dataset.placeId){p.set('country',country.value);p.set('place',opt.dataset.placeId);p.set('q',opt.dataset.query);}
else if(city.value)p.set('city',city.value);
return p;
}
var placeEpoch=0,panelEpoch={forecast:0,pack:0,alerts:0};
function clear(){placeEpoch++;for(var mode in panelEpoch)panelEpoch[mode]++;matches.replaceChildren();status.textContent='';for(var e of root.querySelectorAll('.wa-deep-output'))e.replaceChildren();}
country.addEventListener('change',clear);city.addEventListener('change',clear);
var find=root.querySelector('.wa-place-find');
find.addEventListener('click',async function(){
var value=input.value.trim();if(value.length<2){input.focus();return;}
var findIntent=++placeEpoch,chosenCountry=country.value;
status.textContent=L.loading;matches.replaceChildren();find.disabled=true;
try{
var r=await fetch('/api/weather-places?country='+encodeURIComponent(country.value)+'&q='+encodeURIComponent(value));
if(!r.ok)throw Error('places');var d=await r.json();if(findIntent!==placeEpoch||country.value!==chosenCountry)return;if(!d.places||!d.places.length)status.textContent=L.empty;
else status.textContent=d.places.length+' · '+L.choose;
for(const p of d.places||[]){
var li=item('li',''),b=item('button',p.name);
b.type='button';b.addEventListener('click',function(){
if(findIntent!==placeEpoch||country.value!==chosenCountry)return;
var opt=document.createElement('option');opt.value='p-'+p.country+'-'+p.id;opt.textContent=p.name;
opt.dataset.placeId=String(p.id);opt.dataset.query=value;city.append(opt);city.disabled=false;city.value=opt.value;
city.dispatchEvent(new Event('change',{bubbles:true}));status.textContent=p.name+' ✓';matches.replaceChildren();
});li.append(b);matches.append(li);
}
}catch{if(findIntent===placeEpoch)status.textContent=L.unavailable;}finally{find.disabled=false;}
});
input.addEventListener('keydown',function(e){if(e.key==='Enter'){e.preventDefault();find.click();}});
root.querySelector('.wa-all-countries').addEventListener('click',async function(){
var button=this;button.disabled=true;status.textContent=L.loading;
try{
var r=await fetch('/api/weather-countries');if(!r.ok)throw Error('countries');
var d=await r.json(),already=new Set(Array.from(country.options,x=>x.value)),extra=[];
var fmt=new Intl.DisplayNames([document.documentElement.lang||'en'],{type:'region'});
for(var c of d.countries||[]){if(!/^[A-Z]{2}$/.test(c.code)||already.has(c.code))continue;
var o=document.createElement('option');o.value=c.code;o.textContent=fmt.of(c.code)||c.name;
country.append(o);extra.push(c.code);}
window.__leggicMoreCountries=[...new Set([...(window.__leggicMoreCountries||[]),...extra])];
status.textContent=L.countryReady;button.hidden=true;
}catch{status.textContent=L.unavailable;button.disabled=false;}
});
function line(box,name,value){var row=item('div','');row.className='wa-deep-line';row.append(item('span',name),item('strong',value));box.append(row);}
for(const btn of root.querySelectorAll('.wa-deep-fetch')){
btn.addEventListener('click',async function(){
var mode=btn.dataset.mode,box=root.querySelector('.wa-deep-output[data-mode="'+mode+'"]');
var intent=++panelEpoch[mode],selectedCountry=country.value,selectedCity=city.value;
if(!city.value){box.textContent=L.empty;return;}
box.textContent=L.loading;btn.disabled=true;
var p=query(),url=mode==='alerts'?'/api/weather-alerts':'/api/weather-advice';
if(mode==='forecast'||mode==='pack')p.set('view','extended');
try{
var r=await fetch(url+'?'+p.toString());if(!r.ok)throw Error('source');
var d=await r.json();if(intent!==panelEpoch[mode]||city.value!==selectedCity||country.value!==selectedCountry)return;box.replaceChildren();
if(mode==='forecast'){
var a=item('div','');a.className='wa-deep-lines';
if(Number.isFinite(d.humidity))line(a,'💧',d.humidity+'%');
if(Number.isFinite(d.uvClearSky))line(a,'UV (clear sky)',d.uvClearSky);
if(Number.isFinite(d.windGustMs))line(a,'Wind gust',d.windGustMs+' m/s');
for(var h of (d.hourly||[]).slice(0,18))line(a,h.time.slice(5,16).replace('T',' ')+' UTC',h.temperatureC+' °C'+(Number.isFinite(h.precipChance)?' · '+h.precipChance+'%':''));
box.append(a);
var b=item('div','');b.className='wa-deep-lines';
for(var day of d.daily||[])line(b,day.dayUTC,day.lowC+' / '+day.highC+' °C');
box.append(item('h4',L.days),b);
}else if(mode==='pack'){
if(!Number.isFinite(d.temperatureC))throw Error('missing temperature');
var items=[L.packItems[0]];
if(d.temperatureC<10)items.push(L.packItems[1]);
if((Number.isFinite(d.precipMm)&&d.precipMm>=0.2)||/rain|snow|sleet/i.test(d.symbol||''))items.push(L.packItems[2]);
if(d.windMs>=8)items.push(L.packItems[3]);
items.push(d.temperatureC<5?L.packItems[4]:L.packItems[5]);
var list=item('ul','');list.className='wa-packing-list';
for(const label of [...new Set(items)]){var li=item('li',label);list.append(li);}
box.append(list);
var copy=item('button',L.packCopy);copy.type='button';copy.className='wa-pack-copy';
copy.addEventListener('click',async function(){try{
await navigator.clipboard.writeText(items.join('\n'));copy.textContent=L.packSaved;
}catch{copy.textContent=L.unavailable;}});
box.append(copy);
}else{
if(!d.supported){box.textContent=L.notUS;return;}
if(!d.alerts?.length){box.textContent=L.noAlerts;return;}
for(var a of d.alerts)line(box,a.severity,a.event+': '+a.headline);
var link=item('a','National Weather Service');link.href='https://www.weather.gov/';link.rel='noopener noreferrer';box.append(link);
}
}catch{if(intent===panelEpoch[mode])box.textContent=L.unavailable;}finally{btn.disabled=false;}
});
}
})();document.addEventListener('DOMContentLoaded',()=>{setTimeout(()=>{
// The deferred app.js initializes its tool on DOMContentLoaded; run just after it.
const button=document.getElementById('buildLook');if(!button)return;
const labels={it:'Abbinamento',de:'Outfit',es:'Conjunto',fr:'Tenue',en:'Look'};
const enhance=()=>{
const result=document.querySelector('#lookResult .result');
if(!result||result.querySelector('.style-look-grid'))return;
const items=[...result.querySelectorAll('ol li')].slice(0,3);
if(!items.length)return;
const selectedText=id=>{
const element=document.getElementById(id);
return element?.selectedOptions?.[0]?.textContent?.trim()||element?.value||'';
};
const metaText=[selectedText('color'),selectedText('season'),selectedText('shoes')].filter(Boolean).join(' · ');
const grid=document.createElement('div');grid.className='style-look-grid';
items.forEach((item,index)=>{
const card=document.createElement('article');card.className='style-look';
const meta=document.createElement('span');meta.className='style-look-meta';meta.textContent=metaText;
const content=document.createElement('div'),title=document.createElement('b'),copy=document.createElement('p');
title.textContent=(labels[document.documentElement.lang]||labels.en)+' '+(index+1);
copy.innerHTML=item.innerHTML;
content.append(title,copy);card.append(meta,content);grid.append(card);
});
result.querySelector('ol')?.replaceWith(grid);
};
const next=()=>setTimeout(enhance,0);
button.addEventListener('click',next);
for(const id of ['color','season','occasion','shoes','finish'])document.getElementById(id)?.addEventListener('change',next);
next();
},0);});(()=>{const root=document.querySelector('header.site-header [data-lp]');if(!root)return;const t=root.querySelector('.lp-trigger'),d=root.querySelector('.lp-dialog');if(!d||typeof d.showModal!=='function')return;const f=d.querySelector('.lp-filter'),items=[...d.querySelectorAll('.lp-item')],groups=[...d.querySelectorAll('.lp-group')],empty=d.querySelector('.lp-empty');const norm=s=>s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'');const apply=()=>{const q=norm(f.value.trim());let shown=0;items.forEach(a=>{const ok=!q||norm(a.dataset.names+' '+a.textContent).includes(q);a.parentElement.hidden=!ok;if(ok)shown++;});groups.forEach(g=>{g.hidden=![...g.querySelectorAll('li')].some(li=>!li.hidden)});empty.hidden=shown>0;};t.addEventListener('click',e=>{if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;e.preventDefault();d.showModal();f.value='';apply();if(window.matchMedia('(pointer:fine)').matches)f.focus();else d.querySelector('.lp-item.is-current')?.scrollIntoView({block:'center'});});d.querySelector('.lp-close').addEventListener('click',()=>d.close());d.addEventListener('click',e=>{if(e.target===d)d.close()});f.addEventListener('input',apply);f.addEventListener('keydown',e=>{if(e.key==='Enter'){const first=items.find(a=>!a.parentElement.hidden);if(first){e.preventDefault();first.click();}}});d.addEventListener('close',()=>t.focus());})();