القائمة
/
0 ? -0.25 : 0.25;
const oldScale = zoomScale;
zoomScale = Math.max(1, Math.min(zoomMaxScale, zoomScale + delta));
if (oldScale === 1 && zoomScale > 1) {
const r = $el.getBoundingClientRect();
const cx = $event.clientX - (r.left + r.width/2);
const cy = $event.clientY - (r.top + r.height/2);
zoomPanX = -cx * (zoomScale-1)/zoomScale;
zoomPanY = -cy * (zoomScale-1)/zoomScale;
} else if (zoomScale > 1) {
zoomPanX = zoomPanX * (zoomScale / oldScale);
zoomPanY = zoomPanY * (zoomScale / oldScale);
}
if (zoomScale <= 1) { resetZoom(); } else { clampPan(); }
"
class="relative w-full h-full flex items-center justify-center p-4 [touch-action:none]"
:class="zoomScale > 1 ? (zoomPanning ? 'cursor-grabbing' : 'cursor-grab') : (modalTotal > 1 ? (modalDragging ? 'cursor-grabbing' : 'cursor-grab') : '')"
@mousedown="modalDragStart($event)"
@mousemove="modalDragMove($event)"
@mouseup="modalDragEnd($event)"
@mouseleave="modalDragEnd($event)"
@touchstart="modalDragStart($event)"
@touchmove="modalDragMove($event)"
@touchend="modalDragEnd($event)"
:style="modalDragOffset ? `transform: translateX(${modalDragOffset}px); transition: none;` : 'transition: transform 0.2s ease-out;'">
measureZoomCeiling($el))"
@click.stop
@dblclick.stop.prevent="if (lastInputWasTouch) return; zoomAnimating = true; if (zoomScale > 1) { resetZoom(); } else { const r = $el.getBoundingClientRect(); const cx = $event.clientX - (r.left + r.width/2); const cy = $event.clientY - (r.top + r.height/2); zoomScale = Math.min(2.5, zoomMaxScale); zoomPanX = -cx * (zoomScale-1)/zoomScale; zoomPanY = -cy * (zoomScale-1)/zoomScale; clampPan(); } setTimeout(() => { zoomAnimating = false; }, 300);"
draggable="false"
:style="modalActive === largeIdx
? 'position:relative;transform: scale(' + zoomScale + ') translate(' + (zoomPanX / zoomScale) + 'px, ' + (zoomPanY / zoomScale) + 'px); transform-origin: center center; will-change: transform; transition: ' + (zoomAnimating ? 'transform 0.3s ease-out' : (zoomScale > 1 ? 'none' : 'transform 0.2s ease-out')) + ';'
: ''" />
رول دهان لاتكس لإصلاح الجدران
رول دهان لاتكس مبتكر بتصميم زجاجة عملية، يغطي بقع وخربشة الأطفال على الجدران فورًا دون أثر، سهل الاستخدام لأي فرد بالعائلة.

هل جدرانك تعبت من خربشة الأطفال أو البقع اليومية؟ رول دهان اللاتيكس لإصلاح الجدران هو الحل السحري السريع! تصميم عملي بزجاجة تحتوي الطلاء مع رول مدمج، يخليكِ تغطي أي خربشة أو بقعة بثواني، بدون فرشاة، بدون فوضى، وبدون خبرة سابقة.
مميزات المنتج:
- قوة تغطية عالية تخفي البقع والخربشة بطبقة واحدة
- تصميم زجاجة برول مدمج، لا حاجة لأدوات إضافية
- سهل الاستخدام لجميع أفراد العائلة، حتى بدون خبرة بالدهان
- يجف بسرعة، يمكن استخدام الجدار بنفس اليوم
- مثالي للجدران الداخلية، غرف الأطفال، والمناطق المعرضة للبقع
- يوفر تكلفة إعادة دهان الجدار بالكامل
الحل المثالي لكل أم تعبت من ملاحقة خربشة أطفالها على الجدران، تغطية فورية وأثر نظيف بلمح البصر.
| التصنيف | تنظيف وعناية بالمنزل |
|---|---|
| رمز المنتج | MD_0261 |
JD 9