2016-04-27 93 views
3

当前为一个网站,我有index.html,about.html等。初始屏幕加载在index.html,但我不希望它在初始加载后再出现主屏幕。 (甚至从约页面去 - >指数)初始加载后关闭初始屏幕

这是我的jQuery有:

$(document).ready(function() { 
    if ($(".splash").is(":visible")) { 
     $(".wrapper").css({"opacity":"0"}); 
    } 

    $(".splash-arrow").click(function() { 
     $(".splash").slideUp("800", function() { 
      $(".wrapper").delay(100).animate({"opacity":"1.0"}, 800); 
     }); 
    }); 
}); 

它连接到的index.html。有关如何解决这个问题的任何建议?

+0

你写一个单页的应用程序,而无需刷新页面? – Ozrix

+0

@Ozrix不,它不是一个单一的页面应用 – user3784193

回答

1

如果您想要仅在用户第一次访问index.html时才显示启动画面,则需要在某处存储该信息。通常这是通过LocalStorageCookies完成的。对于后者,github上有一个很好的库:

js-cookies

请记住,虽然Cookie会随您发出的每一个请求一起发送回服务器。

示例代码:

$(document).ready(function() { 
    if (typeof Cookies.get("seen_splash") !== "undefined") { 
     // Insert code to show the splash screen here 
    } 

    // Set the cookie for 365 days. 
    $(".splash-arrow").on("click", function() { 
     Cookies.set("seen_splash", true, { expires: 365 }); 
    }); 
}); 
+0

嗨,我试图实现js饼干像你建议和除了当我打印出console.log后设置“seen_splash”为cookies,它仍然是未定义的。任何想法为什么这可能是这种情况? https://jsfiddle.net/r0Ly0s76/ – user3784193

+0

发生这种情况是因为条件'if(typeof Cookies.get(“seen_splash”)!==“undefined”){...}'检查cookie是否先前已设置。问题在于你将第1行的cookie设置为任意字符串值,这意味着cookie现在存在并且存在检查总是失败。您只需在用户看到飞溅时设置cookie,而不是在其他地方。此外,在再次设置cookie之前,不需要删除cookie,只需覆盖它就可以覆盖它 – marvinhagemeister

+0

@ user3784193如果您觉得此帖可以回答您的问题,那么将您的问题标记为已接受即可。 – marvinhagemeister