Javascript 在overlay DIV中显示类似Facebook的按钮-在第二页视图中显示一次,持续20秒

Javascript 在overlay DIV中显示类似Facebook的按钮-在第二页视图中显示一次,持续20秒,javascript,jquery,Javascript,Jquery,我想在一个叠加div(页面底部)中显示Facebook的like按钮,但还有一些额外的请求使它变得复杂 访问者在生成第二页视图时会看到它(他们来到该网站并至少多打开一页) 它应该只出现一次 它应仅显示约20秒(或任何其他秒数),或直到您单击“x”按钮 它前面会有一个简短的文本(欢迎访问Example.com…)。理想情况下,所有内容都在这段代码中,不需要从页面中提取额外的div 我已经成功地创建了一个关闭按钮。代码如下: $(document).ready(function(){ $('

我想在一个叠加div(页面底部)中显示Facebook的like按钮,但还有一些额外的请求使它变得复杂

  • 访问者在生成第二页视图时会看到它(他们来到该网站并至少多打开一页)
  • 它应该只出现一次
  • 它应仅显示约20秒(或任何其他秒数),或直到您单击“x”按钮
  • 它前面会有一个简短的文本(欢迎访问Example.com…)。理想情况下,所有内容都在这段代码中,不需要从页面中提取额外的div
  • 我已经成功地创建了一个关闭按钮。代码如下:

    $(document).ready(function(){
        $('#closebutton').click(function(){
            $('#facebookdiv').remove();
            $(this).remove();
            document.cookie="removeit=yes";
        });    
        var i,x,y,ARRcookies=document.cookie.split(";");
        for (i=0;i<ARRcookies.length;i++)
        {
          x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
          y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
          x=x.replace(/^\s+|\s+$/g,"");
            if (x=="removeit")
           {
            $('#facebookdiv').remove();
            $('#closebutton').remove();
            }
          }
    });
    
    $(文档).ready(函数(){
    $(“#关闭按钮”)。单击(函数(){
    $('#facebookdiv')。删除();
    $(this.remove();
    document.cookie=“removeit=yes”;
    });    
    变量i,x,y,ARRcookies=document.cookie.split(“;”);
    对于(i=0;i

    提前谢谢你

    编辑

    我在测试HTML页面中的当前代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <script type="text/javascript" src="http://http://code.jquery.com/jquery-1.6.4.min.js"></script>
    
    <script type="text/javascript">
    $(document).ready(function(){
    
    $.cookie('fbbox', '1', { path: '/', domain: 'www.example.com' });
    
    if($.cookie('fbbox') == null) { 
        $.cookie('fbbox', '1', {expires:7, path:'/'});
    }
    
    if($.cookie('fbbox') == 1) { 
        $.cookie('fbbox', '2', {expires:7, path:'/'});
    }
    
    });
    
    var buttonShowTime=20000;
    if (fbbox == '2') {
        $('#facebookdiv').show();
        setTimeout(function() {
            $('#facebookdiv').hide();
    
        }, buttonShowTime);
    
    }
    </script>
    
    
    </head>
    
    <body> 
    
    <div id="fb-root"></div>
    <script>(function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/es_ES/all.js#xfbml=1";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>
    
    
    <div id="facebookdiv">
    <div class="fb-like" data-href="https://www.facebook.com/stackoverflowpage" data-send="false" data-width="450" data-show-faces="false" data-colorscheme="dark" data-font="arial"></div>
    <div id="closebutton">X</div>
    </div>
    
    </body> 
    </html> 
    
    
    $(文档).ready(函数(){
    $.cookie('fbbox','1',{path:'/',domain:'www.example.com'});
    如果($.cookie('fbbox')==null){
    $.cookie('fbbox','1',{expires:7,path:'/'});
    }
    如果($.cookie('fbbox')==1{
    $.cookie('fbbox','2',{expires:7,path:'/'});
    }
    });
    var buttonShowTime=20000;
    如果(fbbox=='2'){
    $('#facebookdiv').show();
    setTimeout(函数(){
    $('#facebookdiv').hide();
    },按键时间);
    }
    (功能(d、s、id){
    var js,fjs=d.getElementsByTagName[0];
    if(d.getElementById(id))返回;
    js=d.createElement;js.id=id;
    js.src=“//connect.facebook.net/es#es/all.js#xfbml=1”;
    fjs.parentNode.insertBefore(js,fjs);
    }(文档“脚本”、“facebook jssdk”);
    X
    
    使用从1开始的增量cookie,如果值=2,则显示按钮

    要隐藏按钮,请使用
    setTimeout()

    剩下的将在html中完成。创建一个关闭按钮并为其应用一个单击处理程序

    $('#faceBookClose').click(function(){
         $('#buttonElemnt').hide();
    });
    

    如果该按钮已被用户隐藏,则在
    setTimeout()
    中再次隐藏该按钮的调用将不会导致任何问题使用从1开始的增量cookie,如果值=2,则显示该按钮

    要隐藏按钮,请使用
    setTimeout()

    剩下的将在html中完成。创建一个关闭按钮并为其应用一个单击处理程序

    $('#faceBookClose').click(function(){
         $('#buttonElemnt').hide();
    });
    

    如果该按钮已被用户隐藏,则在
    setTimeout()中再次隐藏该按钮的调用
    不会引起任何问题

    谢谢,我已经更新了小提琴,你能检查一下吗?我创建了变量名
    cookieVal
    。你需要创建cookie功能。此外,将使用css隐藏Facebook…并且只在需要时显示它。可以在“cookieVal”上方显示“ARRcookies”用于创建cookie?我想它可以以某种方式混合,但我对javascript了解不够,无法将其组合起来。感谢您的帮助!我假设您已经有了一些cookie生成代码,或者您不需要显示代码来读取cookie。看看jQuery cookie插件,可以简化您的内容并添加新内容我正在使用Drupal,所以cookie确实生成了。这段代码运行得很好,但它只允许我关闭按钮,所以我需要将它与您的代码混合,以便仅在第二页视图中显示20秒。如果更简单,我也可以使用第一页视图。谢谢,我已经更新了小提琴,您可以检查它吗?我制作了变量名<代码>cookieVal
    。您需要创建cookie功能。此外,将使用css隐藏Facebook…并仅在需要时显示它。您可以在“cookieVal”上方“ARRcookies”用于创建cookie?我想它可以以某种方式混合,但我对javascript了解不够,无法将其组合起来。感谢您的帮助!我假设您已经有了一些cookie生成代码,或者您不需要显示代码来读取cookie。看看jQuery cookie插件,可以简化您的内容并添加新内容我正在使用Drupal,所以cookie确实生成了。这段代码运行得很好,但它只允许我关闭按钮,所以我需要将它与您的代码混合,以便只显示20秒,并且只显示在第二页视图上。如果更简单,我也可以使用第一页视图。