【问题标题】:Random banner positioning on website's page. Possible?网站页面上的随机横幅定位。可能的?
【发布时间】:2012-11-07 16:09:17
【问题描述】:

谁能告诉我如何实现以下目标?

我想在我的网站页面上显示横幅(当然这很简单)。但是我希望它随机(一次)出现在我选择的 4 个位置之一(DIV ID 的bannerpos1、bannerpos2、bannerpos3 和bannerpos4)。

如果横幅出现在 bannerpos2 中,则不应出现在任何其他位置,反之亦然。

而且,只有在可能的情况下,它才应该显示一个随机横幅(从 3 个左右的横幅中选择)。

简而言之;我想在我的页面上随机放置一个随机横幅。当然,横幅和位置尚未确定。

有人可以帮助我,或指出正确的方向吗?

//11 月 7 日更新

好的,我一直在玩 Joe 所展示的脚本,但是我遇到了一些问题......

目前代码如下所示(在 body-tage 之前):

<script type="text/javascript">
$(function(){
var position = Math.floor((Math.random()*3));
console.log(position)

var $a = $("#advertentieplaats1");
var $b = $("#advertentieplaats2");
var $c = $("#advertentieplaats3");

var $advertentietype1 = $("#advinhoud1");
var $advertentietype2 = $("#advinhoud2");
var $advertentietype3 = $("#advinhoud3");

if (position == 0){
    $a.append($advertentietype1);
}
if (position == 1){
    $b.append($advertentietype2);
}
if (position == 2){
    $c.append($advertentietype3);
}
});
</script>

在页面底部我有以下内容:

<div id="advinhoud1">adsense code 1</div>
<div id="advinhoud2">adsense code 2</div>
<div id="advinhoud3">adsense code 3</div>

或者这有一些问题,或者我做错了……

在 Firefox 中,它会在随机(已定义)位置显示 adsense 代码。它还在底部显示了剩余的 2 个广告(它们应该不可见,甚至不应该加载)。

在 Internet Explorer 中它什么都不做...?所有的 Adsense 都显示在底部,随机位置什么都没有...?

【问题讨论】:

  • 这不是很困难。设计三个横幅。为 4 个不同的位置定义 CSS 类,然后使用 Math.random() 选择横幅和位置并应用它们。
  • 我总是把“这不难”理解为“我不认为这很难,所以你也不应该”。
  • @Joe 它的意思是“它确实是可能的”,因为 OP 不确定。但我明白你的意思。
  • 抱歉,我可能误读了您的评论。我喜欢 SO 作为严肃程序员的重要资源,但我确实认为新手有时会受到不良对待并推迟!我知道我过去曾为此感到内疚,所以我尽量小心。也许我对它过于敏感。

标签: javascript jquery html


【解决方案1】:

类似的东西。您可以使其更具动态性,但这就是我们的想法。

var position = Math.floor((Math.random()*3));
var $a = $("#myDiv1"); // Get the three containers as JQuery objects by id.
var $b = $("#myDiv1");
var $c = $("#myDiv1");
var $myAd = $("#myAd"); // Get the content you want to place.
                        // You could include it as a string in your JS 
                        // or as a hidden element.
if (position == 0)
{
    $a.append($myAd);
}

if (position == 1)
{
    $b.append($myAd);
}

if (position == 2)
{
    $c.append($myAd);
}

【讨论】:

  • 感谢乔的回答。希望我能完成这项工作。我对此很陌生,我只知道一些 CSS 和 HTML。无论如何,谢谢你的时间。
  • 我做了一个快速的 JSFiddle。看起来 JavaScript 随机数生成器并不能胜任这项工作(我认为每次重置时它都会重新播种?)。您应该研究随机数生成,那里有很多代码。 jsfiddle.net/QCVXx
  • 再次感谢乔!高度赞赏。
  • 嗨,乔,我终于理解了你给我的代码示例,它运行良好。非常感谢并再次感谢您的帮助!
  • 哦还有一件事;我想到了。 Google 的 Adsense 在现实生活中如何发挥作用?我的页面上已经有 2 个广告,因此我只能再放一个。脚本会预加载 3 个新的广告吗?如果是这样,那可能行不通,因为页面上已经有 2 个。还是我在这里误解了什么?或者换句话说,它只会加载从脚本中选择的广告代码吗?
猜你喜欢
  • 2017-12-29
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 2020-11-28
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
相关资源
最近更新 更多