

BSM Team
Занимаемся разработкой, производством и продажей изделий внешнего тюнинга автомобилей из АБС-Пластика
01
10 000+ довольных клиентов
02
10 лет на рынке внешнего тюнинга
03
170+ моделей в магазине
04
Высокое качество АБС-пластика
05
Детали не требуют подгонки
06
Своя покрасочная камера


Примеры работ


Мы можем гарантировать качество потому что: все производство, от создания модели до покраски - делаем сами, без посредников
document.addEventListener('DOMContentLoaded', () => {
const slider = document.getElementById('bsm-slider');
const prevBtn = document.querySelector('.bsm-prev-btn');
const nextBtn = document.querySelector('.bsm-next-btn');
let isMobile = window.innerWidth <= 1024;
let isVisible = false;
let rafId = null;
let pos = 0;
let target = 0;
let isDragging = false;
let startX = 0;
let startTarget = 0;
let lastX = 0;
let dragVelocity = 0;
let lastMoveTime = 0;
let wheelTimer = null;
let maxScroll = 0;
let slideWidth = 0;
const updateMetrics = () => {
const slide = slider.querySelector('.bsm-slide');
if (slide) {
const gap = parseInt(window.getComputedStyle(slider).gap) || 0;
slideWidth = slide.offsetWidth + gap;
}
maxScroll = slider.scrollWidth - slider.clientWidth;
};
const updateButtons = () => {
const current = isMobile ? slider.scrollLeft : target;
prevBtn.classList.toggle('bsm-is-disabled', current <= 1);
nextBtn.classList.toggle('bsm-is-disabled', current >= maxScroll - 1);
};
const loop = () => {
if (!isVisible || isMobile) {
rafId = null;
return;
}
if (Math.abs(target - pos) > 0.5) {
pos += (target - pos) * 0.1;
} else {
pos = target;
}
slider.scrollLeft = pos;
updateButtons();
rafId = requestAnimationFrame(loop);
};
const startLoop = () => {
if (!rafId && isVisible && !isMobile) {
pos = slider.scrollLeft;
target = pos;
rafId = requestAnimationFrame(loop);
}
};
const observer = new IntersectionObserver((entries) => {
isVisible = entries[0].isIntersecting;
if (isVisible) {
updateMetrics();
startLoop();
}
});
observer.observe(slider);
window.addEventListener('resize', () => {
isMobile = window.innerWidth <= 1024;
updateMetrics();
if (!isMobile && isVisible) startLoop();
updateButtons();
});
slider.addEventListener('scroll', () => {
if (isMobile) updateButtons();
});
const scrollSlider = (dir) => {
if (isMobile) {
slider.scrollBy({ left: dir * slideWidth, behavior: 'smooth' });
} else {
target = Math.round(target / slideWidth) * slideWidth + (dir * slideWidth);
target = Math.max(0, Math.min(target, maxScroll));
}
};
prevBtn.addEventListener('click', () => scrollSlider(-1));
nextBtn.addEventListener('click', () => scrollSlider(1));
slider.addEventListener('mousedown', (e) => {
if (isMobile || !isVisible) return;
isDragging = true;
slider.classList.add('bsm-is-dragging');
startX = e.pageX;
startTarget = target;
lastX = e.pageX;
dragVelocity = 0;
clearTimeout(wheelTimer);
});
window.addEventListener('mousemove', (e) => {
if (!isDragging || isMobile || !isVisible) return;
e.preventDefault();
dragVelocity = e.pageX - lastX;
lastX = e.pageX;
lastMoveTime = Date.now();
const walk = (e.pageX - startX) * 1.5;
let newTarget = startTarget - walk;
if (newTarget < 0) {
newTarget = newTarget * 0.3;
} else if (newTarget > maxScroll) {
newTarget = maxScroll + (newTarget - maxScroll) * 0.3;
}
target = newTarget;
});
window.addEventListener('mouseup', () => {
if (!isDragging || isMobile || !isVisible) return;
isDragging = false;
slider.classList.remove('bsm-is-dragging');
if (Date.now() - lastMoveTime > 100) {
dragVelocity = 0;
}
target -= dragVelocity * 5;
target = Math.round(target / slideWidth) * slideWidth;
target = Math.max(0, Math.min(target, maxScroll));
});
slider.addEventListener('wheel', (e) => {
if (isMobile || !isVisible || !e.shiftKey) return;
e.preventDefault();
target += (e.deltaY + e.deltaX) * 1.2;
target = Math.max(0, Math.min(target, maxScroll));
clearTimeout(wheelTimer);
wheelTimer = setTimeout(() => {
target = Math.round(target / slideWidth) * slideWidth;
target = Math.max(0, Math.min(target, maxScroll));
}, 150);
}, { passive: false });
updateMetrics();
updateButtons();
});Оплата
- банковской картой на нашем сайте
- беспроцентная рассрочка через банк
- беспроцентная рассрочка через банк
Доставка по России
- СДЭК
- Почта России
- EMS
- Почта России
- EMS
Международная доставка
- Отправляем изделия по всему миру!
- EMS Почта России
- EMS Почта России
Оплата и Доставка
Оплатить заказ можно здесь, на официальном сайте производителя, с любой банковской карты из любой точки мира. У нас подключён интернет-эквайринг от банка Тинькофф, деньги приходят на расчетный счёт Юридического Лица, данные указаны на сайте.
Никаких переводов на карты, на киви кошелёк или что-то подобное не используем!
Мы работаем честно, официально и мы платим налоги.
Никаких переводов на карты, на киви кошелёк или что-то подобное не используем!
Мы работаем честно, официально и мы платим налоги.

Начни свой путь тюнинга сегодня с BSM team
Разрабатываем производим и продаем изделия внешнего стайлинга автомобильных марок Kia Rio 3, Kia Rio 4, Kia Ceed 2 JD Хетчбэк, SW, Pro, Kia Ceed 3 CD Хетчбэк, Volkswagen Tiguan 1, Hyundai Solaris 2. Спойлеры для BMW-3(f30), BMW-5(F10), BMW-X6(e71, f16), BMW-X4(f26), Mercedes-Benz GLC Coup.
START







