<div class="container">
<div class="iframe-container">
<iframe title="Sketchfab Viewer" src="" id="api-frame"></iframe>
</div>
<div class="controls" id="controls">
<pre id="Info"></pre>
</div>
</div>
html, body {
padding: 0;
margin: 0;
width: 100vw;
height: 100vh;
font-smoothing: antialiased;
font-smoothing: grayscale;
font-family: Open Sans, sans-serif;
}
* {
box-sizing: border-box;
}
.container {
display: flex;
flex-direction: column;
height: 100%;
}
.iframe-container {
position: relative;
width: 100%;
flex: 1;
display: flex;
}
.iframe-container > iframe {
border: 0;
width: 100%;
flex: 1;
}
.controls {
display: flex;
align-items: center;
flex-wrap: wrap;
flex-shrink: 0;
height: 80px;
padding: 15px 0 0 15px;
background-color: #000000;
border-top: 1px solid #e7e7e7;
overflow: scroll;
}
.controls > * {
margin-right: 15px;
margin-bottom: 15px;
}
button {
display: inline-flex;
justify-content: center;
align-items: center;
position: relative;
border: 2px solid transparent;
border-radius: 4px;
padding: 0 13px;
font-family: "Open Sans", sans-serif;
font-weight: 600;
text-align: center;
text-shadow: none;
text-transform: uppercase;
line-height: 1.2;
cursor: pointer;
outline: none;
transition: background .2s;
color: white;
background-color: #1caad9;
height: 25px;
font-size: 12px;
}
button.disabled {
cursor: default;
pointer-events: none;
color: #ccc;
background-color: #e7e7e7;
transition: background-color .25s ease;
}
.description {
box-sizing: border-box;
position: absolute;
padding: 30px;
top: 30px;
right: 30px;
width: 240px;
background: rgba(0, 0, 0, 0.6);
color: #ffffff;
border-radius: 3px;
z-index: 2;
opacity: 0;
pointer-events: none;
}
.description.--active {
opacity: 1;
pointer-events: all;
}
.description iframe,
.description img {
max-width: 100%;
height: auto;
}
// Sketchfab Viewer API: Start/Stop the viewer
var version = '1.10.3';
var uid = '154d1a04fbb7482186d19ebd8c984361';
var iframe = document.getElementById('api-frame');
var client = new window.Sketchfab(version, iframe);
var error = function error() {
console.error('Sketchfab API error');
};
var success = function success(api) {
api.addEventListener('viewerstart', function () {
console.log('viewerstart');
});
api.addEventListener('viewerstop', function () {
console.log('viewerstop');
});
api.start(function () {
document.getElementById('start').addEventListener('click', function () {
api.start();
});
document.getElementById('stop').addEventListener('click', function () {
api.stop();
});
api.addEventListener('viewerready', function () {
console.log('viewerReady');
});
});
};
client.init(uid, {
success: success,
error: error,
autostart: 1,
preload: 1
}); //////////////////////////////////
// GUI Code
//////////////////////////////////
function initGui() {
var controls = document.getElementById('controls');
var buttonsText = '';
buttonsText += '<button id="start">Start</button>';
buttonsText += '<button id="stop">Stop</button>';
controls.innerHTML = buttonsText;
}
initGui();
This Pen doesn't use any external CSS resources.