function smToggleMenu(btn){
btn.classList.toggle('open');
document.querySelector('#sm-header .sm-nav-links').classList.toggle('open');
}
document.querySelectorAll('#sm-header .sm-nav-links a').forEach(function(link){
link.addEventListener('click',function(){
var nl=document.querySelector('#sm-header .sm-nav-links');
var tg=document.querySelector('#sm-header .sm-nav-toggle');
if(nl.classList.contains('open')){nl.classList.remove('open');tg.classList.remove('open');}
});
});
document.addEventListener('DOMContentLoaded', function () {
var origNav = document.querySelector('.sm-nav');
if (origNav) {
var bar = document.createElement('div');
bar.className = 'sm-nav-fixed';
bar.innerHTML = origNav.innerHTML;
bar.style.cssText = 'position:fixed;top:88px;left:0;right:0;z-index:300;display:none;justify-content:center;flex-wrap:wrap;gap:4px;padding:6px 4%;background:#fff;border-bottom:1px solid #ececec;box-shadow:0 2px 10px rgba(0,0,0,.06);';
document.body.appendChild(bar);
var links = bar.querySelectorAll('a[href^="#g"]');
var targets = [];
links.forEach(function (a) {
a.style.cssText = 'padding:6px 14px;font-size:14px;font-weight:600;color:#5a5a58;text-decoration:none;border-bottom:2px solid transparent;border-radius:4px;white-space:nowrap;transition:.15s;';
a.addEventListener('mouseenter', function(){ if(!a.classList.contains('on')) a.style.color='#d62828'; });
a.addEventListener('mouseleave', function(){ if(!a.classList.contains('on')) a.style.color='#5a5a58'; });
var el = document.querySelector(a.getAttribute('href'));
if (el) targets.push({ link: a, el: el });
});
links.forEach(function (a) {
a.addEventListener('click', function (e) {
var el = document.querySelector(a.getAttribute('href'));
if (el) { e.preventDefault(); window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - 150, behavior: 'smooth' }); }
});
});
var firstSection = targets.length ? targets[0].el : null;
function onScroll() {
if (firstSection) {
var show = firstSection.getBoundingClientRect().top < 120; bar.style.display = show ? 'flex' : 'none'; } var pos = window.scrollY + 170, cur = null; targets.forEach(function (t) { if (t.el.offsetTop <= pos) cur = t.link; }); links.forEach(function (a) { a.classList.remove('on'); a.style.color = '#5a5a58'; a.style.borderBottomColor = 'transparent'; }); if (cur) { cur.classList.add('on'); cur.style.color = '#d62828'; cur.style.borderBottomColor = '#d62828'; } } window.addEventListener('scroll', onScroll, { passive: true }); onScroll(); } var wa = document.createElement('a'); wa.href = 'https://wa.me/8613854105019?text=Hello%20Sismar%20Laser%2C%20I%20am%20interested%20in%20your%20laser%20machines.'; wa.target = '_blank'; wa.rel = 'noopener'; wa.setAttribute('aria-label', 'Chat on WhatsApp'); wa.style.cssText = 'position:fixed;left:20px;bottom:20px;z-index:9998;width:54px;height:54px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.25);transition:transform .15s;'; wa.onmouseenter = function(){ wa.style.transform='scale(1.08)'; }; wa.onmouseleave = function(){ wa.style.transform='scale(1)'; }; wa.innerHTML = '';
document.body.appendChild(wa);
});
(function(){
function ytThumb(id){return "https://img.youtube.com/vi/"+id+"/hqdefault.jpg";}
const VIDEOS=[
// ---------- Software Tutorials (软件教程) ----------
{sub:"software",tag:"Raytool XC6000",title:"Raytool XC6000 — Importation et redimensionnement des dessins",machine:"Import & resize conceptions en XC6000",yt:"swfVt80ALug"},
{sub:"software",tag:"Logiciel 3D",title:"Logiciel de gravure en 3D — Tutoriel de gravure",machine:"Gravure sur image dans le logiciel 3D",yt:"KaLJU4efr98"},
{sub:"software",tag:"Dot Process",title:"Logiciel de processus de dosage — Tutoriel",machine:"Utilisation du logiciel de processus de point",yt:"yEQujV62WlY"},
{sub:"software",tag:"3D Relief",title:"Marquage laser Fibre 3D Tutoriel de gravure de secours",machine:"Déposer la gravure de secours",yt:"3iFDYMwjVHg"},
{sub:"software",tag:"Illustrator",title:"Conception d'un collier de nom en Illustrator",machine:"conception de nacelle en Illustrator",yt:"tzf6h2MsPfk"},
{sub:"software",tag:"Gravure photo",title:"Comment graver des photos avec un laser — Tutoriel de gravure de photos",machine:"Photos de préparation & gravure",yt:"BLnv4zBiieU"},
// ---------- Machine Operation (机器操作) ----------
{sub:"operation",tag:"fibre Découpe",title:"machine de découpe laser Fibre de 200×300mm Tutoriel de fonctionnement",machine:"Fonctionnement de la coupe de fibre compacte",yt:"I0vYneUEb3Q"},
{sub:"operation",tag:"CCD",title:"Marquage laser CCD Positionnement visuel Tutoriel de fonctionnement",machine:"Fonctionnement de la machine de marquage CCD",yt:"hk9eKRFgPX4"},
{sub:"operation",tag:"CCD",title:"Signalisation visuelle du CCD — Tutoriel étape par étape",machine:"Opération CCD étape par étape",yt:"QMMYzsEgHGU"},
{sub:"operation",tag:"Marquage à la volée",title:"machine de marquage laser Comment faire pour exploiter un volant",machine:"Fonctionnement de la machine de marquage",yt:"ECwRORirjgg"},
{sub:"operation",tag:"Soudage de bijoux",title:"machine de soudage laser Comment fonctionner une bijoux",machine:"Fonctionnement du soudeur de bijoux",yt:"Hx-8zpmkqgU"},
{sub:"operation",tag:"Mini marquage",title:"machine de marquage laser Comment utiliser un Mini Fibre",machine:"Fonctionnement de la mini machine de marquage",yt:"QCe_I4CXNgo"},
{sub:"operation",tag:"Soudage portatif",title:"machine de soudage laser Comment utiliser un portatif",machine:"Soudage portatif d'énergie",yt:"6IInKqxSd1o"},
// ---------- Setup & Connection (安装连接) ----------
{sub:"setup",tag:"Chauffeur",title:"Comment installer le pilote sur un ordinateur portable",machine:"guide d ' installation du conducteur",yt:"lkeUrUfOUYQ"},
{sub:"setup",tag:"6050",title:"machine de découpe laser Comment connecter un calibre 6050",machine:"Connecter la coupe 6050",yt:"_1nOsaTzgRU"},
{sub:"setup",tag:"Connexion",title:"Comment connecter une machine laser",machine:"général machine connexion guide",yt:"hKlpbSiXg3Q"},
];
VIDEOS.forEach(v=>{ if(!v.thumb) v.thumb=ytThumb(v.yt); });
const grid=document.getElementById('smv-grid'),empty=document.getElementById('smv-empty'),
chips=document.getElementById('smv-chips'),
modal=document.getElementById('smv-modal'),player=document.getElementById('smv-player'),
mTitle=document.getElementById('smv-title'),mSub=document.getElementById('smv-sub');
let filter='all';
function card(v,i){return '
+'
'
+'
';}
function render(){
const list=VIDEOS.map((v,i)=>({v,i})).filter(o=>filter==='all'||o.v.sub===filter);
grid.innerHTML=list.map(o=>card(o.v,o.i)).join('');
empty.style.display=list.length?'none':'block';
}
function counts(){
if(!chips)return;
const c=chips.querySelectorAll('.c');
if(c.length<4)return; c[0].textContent=VIDEOS.length; c[1].textContent=VIDEOS.filter(v=>v.sub==='software').length;
c[2].textContent=VIDEOS.filter(v=>v.sub==='operation').length;
c[3].textContent=VIDEOS.filter(v=>v.sub==='setup').length;
}
if(chips){chips.addEventListener('click',function(e){var b=e.target.closest('.smv-chip');if(!b)return;chips.querySelectorAll('.smv-chip').forEach(t=>t.classList.remove('active'));b.classList.add('active');filter=b.dataset.f;render();});}
grid.addEventListener('click',function(e){
var c=e.target.closest('.smv-vid');if(!c)return;
var v=VIDEOS[+c.dataset.i];
mTitle.textContent=v.title;mSub.textContent=v.machine;
var ask="Hi Sismar Laser, I have a question about the "+v.title+" ("+v.tag+"). Please help.";
document.getElementById('smv-ask').textContent="Ask us about the "+v.title+".";
document.getElementById('smv-wa').href="https://wa.me/8613854105019?text="+encodeURIComponent(ask);
document.getElementById('smv-email').href="mailto:sales@sismarlaser.com?subject="+encodeURIComponent('Question: '+v.title)+"&body="+encodeURIComponent(ask);
document.getElementById('smv-ytlink').href="https://youtu.be/"+v.yt;
var origin=encodeURIComponent(location.origin);
player.innerHTML='';
modal.classList.add('open');document.body.style.overflow='hidden';
});
function closeM(){modal.classList.remove('open');player.innerHTML='';document.body.style.overflow='';}
document.getElementById('smv-closebtn').addEventListener('click',closeM);
modal.addEventListener('click',function(e){if(e.target===modal)closeM();});
document.addEventListener('keydown',function(e){if(e.key==='Escape')closeM();});
counts();render();
})();
Paramètres des cookies et de la confidentialité
function smToggleMenu(btn){
btn.classList.toggle('open');
document.querySelector('#sm-header .sm-nav-links').classList.toggle('open');
}
document.querySelectorAll('#sm-header .sm-nav-links a').forEach(function(link){
link.addEventListener('click',function(){
var nl=document.querySelector('#sm-header .sm-nav-links');
var tg=document.querySelector('#sm-header .sm-nav-toggle');
if(nl.classList.contains('open')){nl.classList.remove('open');tg.classList.remove('open');}
});
});
document.addEventListener('DOMContentLoaded', function () {
var nav = document.querySelector('#sm-header .sm-nav');
if (!nav) return;
var navTop = nav.getBoundingClientRect().top + window.pageYOffset;
var navHeight = nav.offsetHeight;
var placeholder = null;
function onScroll() {
var adminBar = document.getElementById('wpadminbar');
var offset = adminBar ? adminBar.offsetHeight : 0;
if (window.pageYOffset > navTop - offset) {
if (!nav.classList.contains('sm-nav-stuck')) {
placeholder = document.createElement('div');
placeholder.style.height = navHeight + 'px';
nav.parentNode.insertBefore(placeholder, nav.nextSibling);
nav.classList.add('sm-nav-stuck');
nav.style.cssText += ';position:fixed!important;top:' + offset + 'px!important;left:0!important;right:0!important;width:100%!important;z-index:99999!important;box-shadow:0 2px 12px rgba(14,37,65,0.12)!important;';
} else {
nav.style.top = offset + 'px';
}
} else {
if (nav.classList.contains('sm-nav-stuck')) {
nav.classList.remove('sm-nav-stuck');
nav.style.position = '';
nav.style.top = '';
nav.style.boxShadow = '';
if (placeholder) { placeholder.remove(); placeholder = null; }
}
}
}
window.addEventListener('scroll', onScroll, { passive: true });
onScroll();
});
