<script type="text/javascript">
var i=0;
function increase()
{
i++;
document.getElementById('slide').innerHTML= +i;
document.getElementById('slidenum').innerHTML = document.getElementById('slide').innerHTML;
}
</script>
<p>
slide: <slide id="slide">0</slide>
</p>
<xsl:variable name="slidenum">
<slidenum id="slidenum">0</slidenum>
</xsl:variable>
<p>
<xsl:variable name="imgsrcs">
<xsl:value-of select="//movie[@num='($slide)']/thumb_img"/> </xsl:variable>
这里我有一个函数,每次单击前进按钮时, slider 都会增加 1。 我想将幻灯片 id 放入 imgsrcs 变量中,它显示 $slide 所以单击前进按钮它将转到下一部电影,如果可能的话 我不太了解 css 或 javascript 但是一个地方可以学习如何我可以这样做基本上制作幻灯片会有所帮助。
最佳答案
假设您的 XSLT 在浏览器之外运行:
JavaScript 在页面显示在浏览器中时运行,而 XSLT 甚至在浏览器加载它之前(在服务器端)生成 HTML。因此,JavaScript 无法对 XSL 变量产生任何影响。
您可以将 XML 电影数据转换为 JavaScript 字典,如下所示:
<script type="text/javascript">
var thumbs = {
<xsl:foreach select="//movie">
"<xsl:value-of select="@num"/>": "<xsl:value-of select="thumb_img"/>",
</xsl:foreach>
};
</script>
然后使用如下内容更新您的 HTML:
var img=document.getElementById("...");
img.url = thumbs[$slide];
代码未经测试,只是为了让您了解如何执行此操作。
请注意,当从 XML 生成 JavaScript 时,您必须检查您的数据是否需要转义(例如,确保 XML 数据中没有引号)。
关于javascript - 将javascript变量放入xsl属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26874339/