2011-05-15 53 views
2

对于<svg>在IE9下使用的元素style="overflow:hidden"属性非常重要。如何定义“溢出”属性

不幸的是,使用jQuery SVG-插件使用以下代码创建svg对象时...

$('#svg').svg({onLoad: drawMap}); 

...该属性没有设置和图像可以限制div以外绘制(svg元件)。

是否有可能使用jQuery svg-plugin设置该属性?或者我应该以其他方式做到这一点?

回答

1

经过一番测试,我想出了这个解决方案,它需要在绘制SVG元素之后设置overflow。这是使用捆绑svgBasics.html文件插件自带一个简单的例子:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
<title>jQuery SVG Basics</title> 
<style type="text/css"> 
@import "jquery.svg.css"; 

#svgbasics { width: 100px; height: 100px; border: 1px solid #484; } 
</style> 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js"></script> 
<script type="text/javascript" src="jquery.svg.js"></script> 
<script type="text/javascript"> 
$(function() { 
    $('#svgbasics').svg({onLoad: drawInitial}); 
}); 

function drawInitial(svg) { 
    svg.circle(75, 75, 50, {fill: 'none', stroke: 'red', 'stroke-width': 3}); 
    var g = svg.group({stroke: 'black', 'stroke-width': 2}); 
    svg.line(g, 15, 75, 135, 75); 
    svg.line(g, 75, 15, 75, 135); 
    $('#svgbasics').css({'overflow' : 'hidden'}); 
} 

</script> 
</head> 
<body> 
<div id="svgbasics"></div> 
</body> 
</html> 
+0

你的答案是有点复杂,但你可以只是1行:$(“#...”)的CSS(。 {'overflow':'hidden'});但是,无论如何谢谢你:) – Budda 2011-05-15 15:33:19