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