我在脚本标签中有一小段代码,还有一些功能:
window.onload = function()
{
if (window.location.hash === 'open')
{
$("#signinform").css("display", "block");
$(".blackout").css("display", "block");
}
}
它不起作用,我很确定它只是因为语法错误。但是,我找不到它。该功能旨在加载页面时调用。你们能找到问题吗?
答案 0 :(得分:2)
window.location.hash包含井号('#')。
永远不会匹配'open',或任何没有hashtag的字符串。
答案 1 :(得分:1)
试试这个:
if (window.location.hash === '#open')
window.location 的哈希成员将返回#符号,以及其后的任何字符串。
您可以通过在控制台中键入 console.log(window.location.hash)来检测此行为。
此外,由于您已经在使用jQuery,因此您可能会坚持使用:
$(function() {
而不是
window.onload
答案 2 :(得分:0)
你正在使用jquery吗?尝试使用.ready(); http://api.jquery.com/ready/
编写javascript的好方法是将所有javascript代码放在页面末尾,</body>
之前
答案 3 :(得分:0)
当你使用jquery时,你可以这样做:
$(document).ready(function(){
if (window.location.hash === '#open') //Inlude hash here!
{
$("#signinform").css("display", "block");
$(".blackout").css("display", "block");
}
});
window.location
也可以,但需要更长时间,例如,如果您的页面中有大图像,它会等到所有图像都加载完毕。 $(document).ready
没有这个问题。
干杯
答案 4 :(得分:0)
工作得很好:
function loaded() {
if (window.location.hash == '#open') alert('ok');
}
window.location.hash = 'open'
window.onload = loaded;