我遇到一个问题,即Opera或Firefox上都没有显示元素。在Firefox上使用firebug我可以看到一个错误,说我用来初始化代码'的函数未定义'
现在就是这样,当我在Firefox浏览器上清空缓存时,我可以看到包含“facebook按钮”的元素并且错误消失了,但是一旦我刷新浏览器,我看不到我的元素和再次返回错误。我必须清空缓存才能再次看到按钮。
该元素应该用jQuery触发,以显示Facebook用户是否在线,如果没有,它将显示该按钮。但这只适用于Chrome& Safari,我相信IE8(我没有),但有人告诉我它有效。
这是在我的Javascript文件中显示元素的代码:
jQuery('#fbLogin').show();
现在,如果我要在我的.css文件中更改此内容:
#fbLogin {
display:none;
}
到此:
#fbLogin {
display:block;
}
它会显示,但我看到的问题是它一直显示,如果用户登录则需要隐藏。我基本上有一个代码说.show按钮和.hide如果登录......
如果你想进一步了解,这里是一个页面的链接:
http://gullypost.com/entertainment/tim-westwood-kendrick-lamar-interview/
在Safari& Chrome你会注意到facebook按钮显示在右侧边栏上,但在其他浏览器上看不到。
有人可以帮我解决这个问题吗?感谢。
答案 0 :(得分:1)
在尝试对没有定义高度的元素使用.show()
时使用jQuery时有一个奇怪的问题。修复方法是显式或动态设置高度。
$(selector).height(function() { return $(this).height() });
答案 1 :(得分:0)
看起来第二次加载页面时,您收到以下JavaScript错误:
fb_og_actions_init_vid is not defined
包含该功能的文件正在正确添加到页面中。我唯一的猜测是尝试移动对函数的引用:
fb_og_actions_init_vid("Connected to Facebook", "108821");
在document.ready
函数内:
$(document).ready(function(){
fb_og_actions_init_vid("Connected to Facebook", "108821");
});
答案 2 :(得分:-1)
我相信这会奏效:
document.getElementById('fbLogin').style.display = 'block';