【问题标题】:How can I show a series of random images in a WordPress text widget using HTML/Javascript?如何使用 HTML/Javascript 在 WordPress 文本小部件中显示一系列随机图像?
【发布时间】:2011-07-02 21:42:06
【问题描述】:

我在 Dreamhost 上使用 WordPress 3.0.5,试图在侧边栏中创建一个文本小部件,该小部件将显示一组随机的九 (9) 个客户端徽标。共有 12 个 logo,位于 /wp-content/clients 文件夹中,命名为 logo1.jpg 到 logo12.jpg。

想法是随机选择第一张图片,然后按顺序获取接下来的八张图片,以避免重复。

更新

搞定了,谢谢大家的指点!

这是最终的工作版本:

<div id="client-logos"></div>

<script type="text/javascript">

TotalLogos = 12;    
FirstPart = '<img src="/wp-content/clients/logo';
LastPart = '.jpg" height="50" width="110" />';

var r = Math.ceil(Math.random() * TotalLogos);

var content = document.getElementById('client-logos').innerHTML;
document.getElementById('client-logos').innerHTML = FirstPart + r + LastPart;

var t=0;
for (t=0;t<8;t++)
   {
      if (r == TotalLogos) { r=0; }
      r++;
      var content = document.getElementById('client-logos').innerHTML;
      document.getElementById('client-logos').innerHTML = content + FirstPart + r + LastPart;
   }

</script>

【问题讨论】:

  • 首先,关闭您的图像标签!
  • 你的 for 循环设置应该有一个

标签: javascript wordpress text random widget


【解决方案1】:

document.write() 在页面完成加载之前运行.. 你应该用别的东西..

首先,您应该通过 id 获取 div 容器的对象:

你的html:

    <div id="containerid"></div>

<script>
var elem = document.getElementById('containerid');
elem.innerHTML= "FirstPart + r + LastPart";
</script>

【讨论】:

  • 谢谢医生!根据快速谷歌搜索告诉我的内容,该解决方案必须涉及 innerHTML,但我不能完全让它工作。有什么想法吗?
  • 再次感谢 DSL。我花了一段时间才让它工作,因为我仍然把代码放在一个函数中,这把事情搞砸了。我将在上面添加我的最终工作代码...
【解决方案2】:

只需将 t=8 更改为 t&lt;8 即可(对我而言)。 for 循环中的第二个表达式表示:“只要这是真的就执行 foo 循环”。只要t &lt; 8,您的代码就必须执行;当t == 8 时,它应该停止。

工作示例:http://jsfiddle.net/m7m7C/

【讨论】:

  • 感谢 pimvdb,很好的收获!现在如何在不使用 document.write() 的情况下显示图像,正如 DrStrangeLove 指出的那样,这是主要问题......
  • 所有文档函数都可用后,可以使用jQuery执行函数。所以,document.wirte 确实有效。如果可能,请尝试使用 jQuery - 但话说回来,我对 WordPress 以及如何将 jQuery 集成到其中一无所知。
  • 我确实很喜欢一些 jQuery,但没有它也能达到预期的效果——而且不需要太多的代码。见上文,感谢您的帮助!
  • 我不确定您是否是 Stack Overflow 的新手,但在这里表示感谢的方式是请接受适合您的答案。 ;)
猜你喜欢
  • 2011-12-14
  • 1970-01-01
  • 1970-01-01
  • 2020-06-30
  • 1970-01-01
  • 1970-01-01
  • 2019-11-18
  • 2013-11-10
  • 1970-01-01
相关资源
最近更新 更多