Полная AJAX навигация по сайту, для DLE версии 11
romex11 31.08.2016 Стол заказов 1868 12 комментариев
Куплю рабочий хак или модуль Полная AJAX навигация по сайту, для DLE версии 11.
Стоимость заказа - предлагайте.
Стоимость заказа - предлагайте.
romex11 31.08.2016 Стол заказов 1868 12 комментариев
<div id="main-3d-viewer"></div>
<div id="model-buttons"></div>
<!-- Тут выводится ваше доп.поле с файлами -->
<div id="model-links-src" style="display:none;">
{xfvalue_model_files}
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const src = document.getElementById('model-links-src');
const box = document.getElementById('model-buttons');
const links = src ? src.querySelectorAll('a[href]') : [];
if (!links.length) return;
// const stl_viewer = new StlViewer(...);
function fileNameFromUrl(url) {
try {
const clean = url.split('?')[0].split('#')[0];
return decodeURIComponent(clean.substring(clean.lastIndexOf('/') + 1));
} catch(e) {
return url;
}
}
function loadModel(url) {
// stl_viewer.remove_model(0);
// stl_viewer.add_model({ id:0, filename:url });
console.log('load:', url);
}
links.forEach(function (a, i) {
const url = a.getAttribute('href');
const text = (a.textContent || '').trim();
const title = text && text !== url ? text : fileNameFromUrl(url);
const btn = document.createElement('button');
btn.type = 'button';
btn.className = 'model-btn';
btn.textContent = title;
btn.dataset.file = url;
btn.addEventListener('click', function () { loadModel(url); });
box.appendChild(btn);
if (i === 0) loadModel(url);
});
});
</script>