Skip to content

Welcome to GulsTrading

v.attrs['Colour'] === wanted && v.stock > 0) ?? this.variants.find(v => v.attrs['Colour'] === wanted) : null; start ??= this.variants.find(v => v.stock > 0) ?? this.variants[0]; this.apply(start); }, apply(variant) { this.variantId = variant.id; this.groups.forEach(g => { if (variant.attrs[g.name] !== undefined) this.sel[g.name] = variant.attrs[g.name] }); this.activeImage = 0; }, choose(group, value) { this.sel[group] = value; // Exact: a variant wearing every current selection it carries. let match = this.variants.find(v => this.groups.every(g => !this.sel[g.name] || v.attrs[g.name] === undefined || v.attrs[g.name] === this.sel[g.name]) && v.attrs[group] === value); // Loose: best-scoring variant that at least wears the value // just clicked (sparse colour × size grids are the norm here). match ??= this.variants .filter(v => v.attrs[group] === value) .sort((a, b) => (this.score(b) - this.score(a)) || (b.stock > 0) - (a.stock > 0))[0]; if (match) this.apply(match); }, score(v) { return this.groups.reduce((n, g) => n + (v.attrs[g.name] === this.sel[g.name] ? 1 : 0), 0) + (v.stock > 0 ? 0.5 : 0); }, get images() { return this.previewImages }, get price() { return this.selected ? this.selected.price : 12 }, get compare() { return this.selected ? this.selected.compare : null }, get stock() { return this.selected ? this.selected.stock : 85 }, get needsVariant() { return this.variants.length > 0 && !this.variantId }, get previewImages() { if (this.selected && this.selected.images.length) return this.selected.images; // Colour chosen but size pending: preview that colour's shots. for (const g of this.groups.filter(g => g.isColour)) { if (this.sel[g.name]) { const match = this.variants.find(v => v.attrs[g.name] === this.sel[g.name] && v.images.length); if (match) return match.images; // A colour is chosen and NOTHING depicts it — 138 of // 4AsGlobals' variants have no image of their own. The // product's own shots are honest here; another // colour's are not, and on screen the two are // indistinguishable. Show those, or show none. return this.productImages; } } if (this.productImages.length) return this.productImages; // Nothing chosen yet, so no colour is being claimed: open on // the first variant that has a picture (the fallback the cards // use server-side). return this.variants.find(v => v.images.length)?.images ?? []; }, qty: 1, busy: false, lightbox: false, lightboxIndex: 0, get allImages() { const seen = new Set(); return [...this.productImages, ...this.variants.flatMap(v => v.images)] .filter(img => !seen.has(img.large) && seen.add(img.large)); }, openLightbox() { if (! this.allImages.length) return; const current = this.images[this.activeImage]?.large; const at = this.allImages.findIndex(img => img.large === current); this.lightboxIndex = at >= 0 ? at : 0; this.lightbox = true; }, nextImage() { if (this.allImages.length) this.lightboxIndex = (this.lightboxIndex + 1) % this.allImages.length }, prevImage() { if (this.allImages.length) this.lightboxIndex = (this.lightboxIndex - 1 + this.allImages.length) % this.allImages.length }, pick(id) { this.variantId = this.variantId === id ? null : id; this.activeImage = 0; }, }" @cart-updated.window="busy = false" @cart-add-failed.window="busy = false">
Gym and Running Shorts
Gym & Training Shorts

Gym and Running Shorts

Including VAT

Only left — order soon

Material:
Polyester

Dispatched fast from our UK warehouse — same day where possible.

Fast UK dispatch Secure checkout Easy returns SKU

Picked, packed and dispatched from our own UK warehouse.

Nine colourways is a lot for one pair of shorts, and it is the first thing worth knowing here. There is pink, white, blue, navy blue, red, green and burgundy, plus two two-tone options: blue with yellow, and pink with white. Not every colour is stocked in every size, so what shows in the picker is what is actually on the shelf. The fabric is polyester, which is the ordinary choice for gym and running shorts for a good reason. It takes up very little water, so it dries quickly after a wash and does not sit heavy on you once you have warmed up, and it keeps its shape through a lot of washing. Sizes go from S to XXL. Take your usual size in gym shorts. If you are between two and would rather have room to move than a close fit, go with the larger of them. These are the everyday pair in our Gym & Training Shorts range rather than a specialist short for one sport: treadmill and weights work, circuits, five-a-side, a run round the park, or simply the pair you reach for when the others are in the wash. At £16.99 it is not painful to own two. Care is simple. Cool wash with similar colours, skip the fabric softener since it coats synthetic fibres and slows down drying, and let them dry naturally rather than on a hot tumble setting. Wash the two-tone pairs with like colours the first time or two. Delivery is across the UK, and returns are handled by SyncShip.
SKU
PRD-5B2D74
Weight
0.5 kg
Barcode
3434031820677
Colour
Pink, White, Blue, Navy Blue, Red, Green, Blue - Yellow, Pink-white, Burgundy
Size
L, XXL, M, XL, S
Material
Polyester

Orders are picked, packed and dispatched from our UK warehouse — same day where possible. Delivery options and prices are shown at checkout. Track any order any time at Track my order.

Changed your mind? You can request a return from your account within 30 days of delivery.

Reviews

No reviews yet — be the first.

Questions & Answers

No questions yet.

You may also like

Recently viewed