【问题标题】:Hide div after user enters any section of website用户进入网站的任何部分后隐藏 div
【发布时间】:2014-02-06 22:37:11
【问题描述】:

假设我有一个完整的image div,当用户进入主页上的站点时,它会淡出。

如果用户进入任何部分(简历、画廊)并返回首页,我想隐藏该完整图像动画。

我尝试使用这样的 cookie:

if (jQuery.cookie('hasVisited')) {

} else {
jQuery.cookie('hasVisitied', 'true');
    jQuery('#home-image').hide();
}

但问题是,如果用户再次进入页面,这将隐藏image,而不仅仅是任何部分。

如果用户来自网站的子页面,我如何指向隐藏#home-image

如果我对这个问题不清楚,请告诉我!

这将是事件:

  1. 用户访问网站,首页出现full screen image淡出动画
  2. 他进入biography 部分,然后返回homepage 无需查看full screen image 动画。
  3. 几小时后,他决定再次访问该网站,并在主页上看到 full screen image 淡出动画。

【问题讨论】:

  • 您不太清楚...如果您是用户,请给我们提供一些事件。
  • 快速提示:您可以写$( 而不是jQuery(。更简单,更短;)
  • php标签的相关性?
  • @VIDesignz 我用假设场景更新了我的问题。
  • 您是否为 cookie 设置了过期时间?

标签: javascript jquery html css


【解决方案1】:

您可以使用#returning 之类的方式结束返回主页的链接,而不是使用cookie。因此,指向您主页的链接可能类似​​于 ./#returningwww.yoursite.com#returning

从那里,您可以使用 JavaScript 的 window.location.hash 来确定用户是否返回到您的主页。它应该返回类似#returning

所以,链接到您的主页:

<a href="./#returning>Home</a>

还有主页上的 JavaScript:

if(window.location.hash === "#returning")
    $('#home-image').hide();

否则,如果您想坚持使用 cookie 方法,请尝试找到一种在用户离开您的网站时删除 cookie 的方法,尽管这会有点困难。

祝你好运!

【讨论】:

  • 感谢您的提示!刚加入,所以我不知道我能做到这一点。很高兴知道未来。
【解决方案2】:

您只需要在它们位于备用页面上时添加 cookie。您可以通过 javascript 检查location.pathname,或仅在这些页面上包含/执行此脚本。

只要主页不触发 cookie,它应该可以工作

【讨论】:

  • 我不明白。如果我把cookie放在其他页面上,他将看不到Home上的image。但是,如果他在几个小时后访问Home,他将看不到image,因为他已经打开了其他部分。
  • 那你能澄清一下在哪些场景下用户不应该看到它吗?如果您在它们来自不同的子页面时特别需要隐藏它,您可以检查引荐来源标头。除非您自定义过期值,否则 Cookie 通常会持续一段时间
  • 是的,这正是我要找的...隐藏image 然后它们来自站点的子页面!这样做的方法是什么?
  • 您可以尝试比较document.referrer,这是发送它们的页面的网址。如果它与您的域或某些页面/文件夹匹配,那么您可以隐藏图像。请参阅此处了解更多信息:stackoverflow.com/questions/2031362/checking-the-referrer
猜你喜欢
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 2018-03-25
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
  • 1970-01-01
相关资源
最近更新 更多