Yii2 Bootstrap 3
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

48 lines
1.4 KiB

window.onload = function() {
var i, imax,
codeBlocks = Sizzle('pre'),
callStackItems = Sizzle('.call-stack-item');
// highlight code blocks
for (i = 0, imax = codeBlocks.length; i < imax; ++i) {
hljs.highlightBlock(codeBlocks[i], ' ');
}
// code block hover line
document.onmousemove = function(e) {
var lines, i, imax, j, jmax, k, kmax,
event = e || window.event,
y = event.clientY,
lineFound = false;
for (i = 0, imax = codeBlocks.length; i < imax; ++i) {
lines = codeBlocks[i].getClientRects();
for (j = 0, jmax = lines.length; j < jmax; ++j) {
if (y > lines[j].top && y < lines[j].bottom) {
lineFound = true;
break;
}
}
if (lineFound) {
break;
}
}
var hoverLines = Sizzle('.hover-line');
for (k = 0, kmax = hoverLines.length; k < kmax; ++k) {
hoverLines[k].className = 'hover-line';
}
if (lineFound) {
var line = Sizzle('.call-stack-item:eq(' + i + ') .hover-line:eq(' + j + ')');
if (line[0]) {
line[0].className = 'hover-line hover';
}
}
}
// toggle code block visibility
for (i = 0, imax = callStackItems.length; i < imax; i++) {
Sizzle('.element-wrap', callStackItems[i])[0].addEventListener('click', function() {
var code = Sizzle('.code-wrap', this.parentNode)[0];
code.style.display = window.getComputedStyle(code).display == 'block' ? 'none' : 'block';
});
}
};