javascript - 将javascript变量放入xsl属性

标签 javascript jquery html css xslt

 <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/

相关文章:

jquery - Owl Carousel 中的 HTML5 视频,带有圆形自动播放视频和轮播

javascript - 生成 2 个日期之间的所有数字并保存为 [day, hour]

javascript - 多个指令要求模板

javascript - 强制同步 iframe 加载

php - 大崩OrgChart格式数组

php - 调整窗口大小时如何修复侧边栏?

javascript - 为什么 <li> 标签没有内嵌在我的 slider 上?

javascript - Android Studio 连接到移动设备中的本地主机

javascript - 使用 javascript/jquery 更改 url 并使用新 url 重新加载页面

html - 响应式 div 折叠