以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  帮忙:请问如何使图片轮显的js代码嵌入到XSL的代码中去...  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=43352)


--  作者:yellowline
--  发布时间:2/18/2007 9:23:00 AM

--  帮忙:请问如何使图片轮显的js代码嵌入到XSL的代码中去...
对XSL根本就是一知半解。最近帮忙修改一个网站,但是源码是XML的。我想把下面这段广告图片显示的JS代码加入到XSL的代码中,但是调试的时候总是出现这个错误:

错误类型:
msxml3.dll (0x80004005)
样式表没有包含文档元素。样式表可能是空的,或它可能不是一个标准格式的 XML 文档。

这段图片轮显的JS代码是:
<div id=oTransContainer style="FILTER: progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=0, motion='forward'); WIDTH: 165px; HEIGHT: 103px"><a href="index.asp" target="_blank"><img id=oDIV1 src="01.jpg" width=250 height=100>
            <script>var NowFrame = 1;var MaxFrame = 3;var bStart = 0;function fnToggle(){var next = NowFrame + 1;if(next == MaxFrame+1) {NowFrame = MaxFrame;next = 1;}if(bStart == 0){bStart = 1;setTimeout('fnToggle()', 2000);return;}else{oTransContainer.filters[0].Apply();document.images['oDIV'+next].style.display = "";document.images['oDIV'+NowFrame].style.display = "none";oTransContainer.filters[0].Play(duration=2);if(NowFrame == MaxFrame){NowFrame = 1;}else{NowFrame++;}} setTimeout('fnToggle()', 6000);}fnToggle();</script>
    </a>
<a href="index.asp" target="_blank"><img id=oDIV2 src="02.jpg" width=250 height=100 style="DISPLAY: none;"></a>
<a href="index.asp" target="_blank"><img id=oDIV3 src="03.jpg" width=250 height=100 style="DISPLAY: none;"></a>
  </div>

上面这段代码我想加入到

</xsl:call-template>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="border">
<tr>
<td>我想把那段js代码加到这里</td>
</tr>
</table>

但是调试总是出错。想请懂得怎么写的朋友帮帮忙!看看怎样才能正确的加入...
先谢谢....并祝大家新春快乐。


--  作者:Qr
--  发布时间:2/18/2007 12:30:00 PM

--  
给你两个提示:
1、代码必须符合XML语法规范,最基本的是元素标记必须关闭,属性值必须用引号括起来(script标记除外);
2、script元素中的代码用<xsl:comment>元素包括起来,如:
格式:
<script>
<xsl:comment>

javascript code here

</xsl:comment>
</script>


--  作者:yellowline
--  发布时间:2/18/2007 3:57:00 PM

--  
谢谢Qr的帮助。按照您所说的加入后,这个
<div id=oTransContainer style="FILTER: progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=0, motion='forward'); WIDTH: 165px; HEIGHT: 103px"><a href="index.asp" target="_blank"><img id=oDIV1 src="01.jpg" width=250 height=100>
<a href="index.asp" target="_blank"><img id=oDIV2 src="02.jpg" width=250 height=100 style="DISPLAY: none;"></a>
<a href="index.asp" target="_blank"><img id=oDIV3 src="03.jpg" width=250 height=100 style="DISPLAY: none;"></a>
  </div>
怎样才能写成标准的XML代码。实在是不明白~~~谢谢各位~~
--  作者:Qr
--  发布时间:2/18/2007 6:15:00 PM

--  
直接修改,没有验证:

<div id="oTransContainer" style="FILTER: progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=0, motion='forward'); WIDTH: 165px; HEIGHT: 103px"><a href="index.asp" target="_blank"><img id="oDIV1" src="01.jpg" width="250" height="100"/>
<script>
<xsl:comment>
var NowFrame = 1;var MaxFrame = 3;var bStart = 0;function fnToggle(){var next = NowFrame + 1;if(next == MaxFrame+1) {NowFrame = MaxFrame;next = 1;}if(bStart == 0){bStart = 1;setTimeout('fnToggle()', 2000);return;}else{oTransContainer.filters[0].Apply();document.images['oDIV'+next].style.display = "";document.images['oDIV'+NowFrame].style.display = "none";oTransContainer.filters[0].Play(duration=2);if(NowFrame == MaxFrame){NowFrame = 1;}else{NowFrame++;}} setTimeout('fnToggle()', 6000);}fnToggle();
</xsl:comment>
</script>
</a>
<a href="index.asp" target="_blank"><img id="oDIV2" src="02.jpg" width="250" height="100" style="DISPLAY: none;"/></a>
<a href="index.asp" target="_blank"><img id="oDIV3" src="03.jpg" width="250" height="100" style="DISPLAY: none;"/></a>
</div>


--  作者:yellowline
--  发布时间:2/18/2007 6:42:00 PM

--  
哦~原来只要在后面加入 / 即可~谢谢~~~真的很感谢~~问题解决了~~
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
4,488.281ms