javascript 多部分SVG Javascript

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 多部分SVG Javascript相关的知识,希望对你有一定的参考价值。

function runSVGMeasurements(multiPartSVG) {
        var svgHeightPercent = $(window).width() / 1941;
        var sectionHeight = (multiPartSVG.parent()[0].getBoundingClientRect().height).toFixed(2) - 5;
        if( multiPartSVG.find('.top-part').length > 0 ) {
            var topPartHeight = (multiPartSVG.find('.top-part')[0].getBoundingClientRect().height).toFixed(2);
            var subtractFromBottom = 0;
        }else {
            var topPartHeight = 0;
            var subtractFromBottom = 3;
        }
        
        var bottomPartHeight = (multiPartSVG.find('.bottom-part')[0].getBoundingClientRect().height).toFixed(2);
        var middleHeight = (sectionHeight - topPartHeight - bottomPartHeight) / svgHeightPercent
        multiPartSVG.find('.middle-part').attr('height', middleHeight);
        var bottomTranslate = (sectionHeight - bottomPartHeight - subtractFromBottom - 3) / svgHeightPercent;
        // console.log("Section Height: ", sectionHeight);
        // console.log("Top Part Height: ", topPartHeight);
        // console.log("Bottom Part Height: ", bottomPartHeight);
        // console.log("Middle Part Height: ", middleHeight);
        // console.log("Bottom Translate: ", bottomTranslate);
        multiPartSVG.find('.bottom-part').css('transform', 'translateY(' + bottomTranslate + 'px)');
        // Set transform attribute for IE11
        var transform= getComputedStyle(multiPartSVG.find('.bottom-part')[0]).getPropertyValue('transform');
        multiPartSVG.find('.bottom-part')[0].setAttribute('transform', transform);
    }
    
    $('.multipart-svg').each(function() {
        var multiPartSVG = $(this);
        if( $(this).parent().find('img').length > 0 ) {
            $(this).parent().find('img').load(function() {
                runSVGMeasurements(multiPartSVG);
            });
        }else {
            setTimeout(function() {
                runSVGMeasurements(multiPartSVG);
            }, 1500);
        }
    });

以上是关于javascript 多部分SVG Javascript的主要内容,如果未能解决你的问题,请参考以下文章

仅获取当前 url 的一部分并使用 javascript 重定向

数据可视化-gojs插件使用技巧总结

如何使用javascript动态更改html中svg的文本内容

Javascript的新领域——动态图片处理之SVG

《javascript高级程序设计》笔记三

初识JavaScript