2011-05-15 72 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