SVG动态修改Text的文本
2010-11-11 18:34
225 查看
SVG Text的文本由于不是他的属性,因此不能采用setAttribute来更改。
下面说两种不同方式实现:
1、通过改变他的textContent
例如:svg内容如下,但是非常遗憾这种方法不适合IE6。Opera10是可以的
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
onload="init()">
<script>
<![CDATA[
var text, textnode
function init()
{
textnode = document.getElementById("text1")
}
function changeText()
{
text = textnode.textContent
textnode.textContent = "test"
}
function restoreText()
{
textnode.textContent = text
}
]]>
</script>
<text id="text1" x="300" y="200" font-size="60" font-family="tempus sans itc" stroke="red" stroke-width="2" onmouseover="changeText()" onmouseout="restoreText()">
OMG
</text>
</svg>
2、第二种方法创建一个新的TextSpan替换旧的经过在IE6下测试好用。其他的浏览器没有试过
例如:下面是主要函数
function changeDescriptionText(evt,siteNum)
{
var newDescriptionText = svgDocument.createTextNode("Click here to goto DeveloperWorks.");
targetText.replaceChild(newDescriptionText,targetText.getFirstChild());
}
下面说两种不同方式实现:
1、通过改变他的textContent
例如:svg内容如下,但是非常遗憾这种方法不适合IE6。Opera10是可以的
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
onload="init()">
<script>
<![CDATA[
var text, textnode
function init()
{
textnode = document.getElementById("text1")
}
function changeText()
{
text = textnode.textContent
textnode.textContent = "test"
}
function restoreText()
{
textnode.textContent = text
}
]]>
</script>
<text id="text1" x="300" y="200" font-size="60" font-family="tempus sans itc" stroke="red" stroke-width="2" onmouseover="changeText()" onmouseout="restoreText()">
OMG
</text>
</svg>
2、第二种方法创建一个新的TextSpan替换旧的经过在IE6下测试好用。其他的浏览器没有试过
例如:下面是主要函数
function changeDescriptionText(evt,siteNum)
{
var newDescriptionText = svgDocument.createTextNode("Click here to goto DeveloperWorks.");
targetText.replaceChild(newDescriptionText,targetText.getFirstChild());
}
相关文章推荐
- SVG动态修改Text的文本
- svg 动态修改text文本
- 动态修改报表选择界面选择文本
- 动态修改EditText输入键盘并隐藏或显示密码
- (原创)代码动态改变某些textview文本颜色及其大小的方式
- SAP 登陆界面菜单文本修改 (Modification of SAP Logon Menu text)
- android ExpandableTextView-自定义可以动态展开/收缩显示长文本的TextView
- Android:动态修改TextView文字内容
- 动态修改EditText的隐藏与显示
- android 动态修改textview背景
- Android开发中TextView 实现右上角跟随文本动态追加圆形红点
- Android开发 EditTextPreference 和 ListPreference的summary值动态修改
- svg中动态更改text属性值
- 修改文本CREATE_TEXT/SAVE_TEXT/RE…
- andorid,动态设置TextView文本中字体的颜色和格式,用Html.fromHtml方法
- Android 动态修改TextView 颜色Color
- svg -> text文本水平、垂直居中。文本垂直对齐方式
- svg:text属性的可见性的修改(待解决问题)
- svg文本动态改变后字体设置丢失问题
- 动态创建Text或者Label并且控制文本颜色以及透明度