网站上的按钮随机出现

时间:2011-07-25 14:21:40

标签: javascript jquery html

好的,这可能是一个奇怪的问题。

我的任务是在公司网站上创建一个随机出现的按钮。我的老板来找我指出CNN就是一个例子。他说有一个反馈按钮并不总是在网站上随机出现。我的猜测是,元素设置为根据满足的条件显示,并非随机。

我去了CNN,我找不到反馈按钮,但他向我保证他已经看过几次(因为他经常访问该网站)。但他无法提供有关可能出现的内容的任何见解。

有人做过这样的事吗?我从来没有做过这样的事情,所以不确定将此设置为什么条件。

非常感谢任何帮助。 非常感谢。

5 个答案:

答案 0 :(得分:2)

创建一个元素数组,您要在其中附加按钮,然后随机抓取一个按钮并添加按钮。

var arr = ['#navigation', '#help', '#etc'];

function showButton() {

    var random = Math.random() * arr.length;

    $(arr[random]).append("<button id='someId'>My Button Text</button>");

}

这尚未经过测试,但应该可行。如果它没有检查Math.random() * arr.length代码。你可能需要加1才能得到所有3个项目,但我不这么认为。

答案 1 :(得分:1)

var randFactor = 0.5;
if (Math.random() < randFactor) {
    // show button
}

答案 2 :(得分:0)

如果您要在javascript中执行此操作,只需使用Math.random()生成0到1之间的随机数。

然后你的病情可以使用:

if(Math.random() < .1) ...

(调整.1以适应您希望按钮显示的频率)

答案 3 :(得分:0)

你可以这样做:

 if (Math.random() > 0.5){
    $('#button').hide();//hide the button
 }

答案 4 :(得分:0)

有很多jQuery反馈插件可以完成你所描述的内容。一些比较流行的插件是Feedback BadgeUI.ImFeedback。这些插件通常位于页面的右侧或左侧,处于固定位置,允许用户以非突兀的方式提交反馈。

您可以根据任意数量的预定义条件自定义这些插件以显示或隐藏,但通常您要求用户提供反馈的原因将分为以下类别:

  1. 页面处于alpha或beta测试状态
  2. 用户正在查看的内容存在争议或新内容
  3. 用户定期返回特定页面
  4. 我创建了一个关于如何通过html / css here实现反馈按钮的jsFiddle。布局只是添加一个小div来坐在页面上的固定位置,使用一点css:

    <div id="feedback">
         <a href="#">
             <img src="http://mediaformations.com/examples/images/feedback.png" />
         </a>
     </div>
    

    和css:

    #feedback a{ display:block; position:fixed; top:200px; right:-1px; background:green; padding:7px 5px;
     border:1px solid #030;
     border-left-color:#060;
     border-top-color:#090;
     }
     #feedback a:hover{background:#030;border:1px solid #030;}
    

    我添加了一些简单的javascript逻辑,以便在需要时隐藏反馈。您可以在站点中添加一些逻辑,以便在需要时隐藏/显示#feedback div。功能如下所示:

    $("#hide").click(function() {
      $("#feedback").hide('slow', function() {
        alert('Feeback toggled.');
      });
    });
    
    $("#display").click(function() 
      $("#feedback").show('slow', function() {
        alert('Feeback toggled.');
      });
    });
    

    您可以在页面上满足上述某些条件(或其他条件)时调用这些条件。

    还有一篇关于实施反馈按钮的文章here