Sha256: 71734aef0353634181ca48a1fceb706cc3f6ec6f268445086620aede6cf6cbcb
Contents?: true
Size: 1.72 KB
Versions: 23
Compression:
Stored size: 1.72 KB
Contents
/* Last full read through 27/12/2020 * *############################################## *# svg label calc /assets/js/svg_text_width.js *############################################## * */ // Get the svg text elemnets inside .svg__labels, calulate their length and position with 768 clientWidth condition. function svg_text_width() { // scren width const view_width = document.documentElement.clientWidth; // Get svg text and lines contained by .svg__labels const text = document.querySelectorAll('.svg__labels > .svg--text'); const lines = document.querySelectorAll('.svg__labels > .svg--line'); for (let i = 0; i < text.length; i++) { // get width of all the text labels const width = text[i].getComputedTextLength(); // set up vars depending on 768 breakpoint if(view_width > 768 ){ var lineLength = 100 ; // length in pixels of the drawn line var x_offset = 10 + width ; // offset the text label s.t. last character sits 10 px from end of line var y_offset = 5 ; } else { var lineLength = 70 ; var x_offset = 0 ; // offset the text label s.t. first character sits inline with end of line var y_offset = -8 ;} lines[i].setAttribute("stroke-dashoffset", lineLength + 'px') lines[i].setAttribute("stroke-dasharray", lineLength + 'px') if( text[i].classList.contains('trans-left')){ lines[i].setAttribute("x2", -lineLength + 'px') text[i].setAttribute("x", - lineLength - x_offset + 'px'); text[i].setAttribute("y", y_offset + 'px'); } else { lines[i].setAttribute("x2", lineLength + 'px') text[i].setAttribute("x", lineLength + x_offset - width + 'px'); text[i].setAttribute("y", y_offset + 'px'); }; }; } svg_text_width()
Version data entries
23 entries across 23 versions & 1 rubygems
Version | Path |
---|---|
slow-steps-0.4.2 | assets/js/svg_text_width.js |
slow-steps-0.4.1 | assets/js/svg_text_width.js |
slow-steps-0.4.0 | assets/js/svg_text_width.js |