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