jquery - 如何在单击时永久隐藏某个用户的元素

标签 jquery hide dismiss

我试图弄清楚如何隐藏一个元素,以便在用户单击“关闭”按钮时不再显示。基本上它只是一个带有促销信息的下拉菜单。如果用户单击“关闭”,我不希望该元素再次向该用户显示。

我希望它的功能就像此处看到的横幅 http://codecanyon.net/

有办法做到这一点吗?我尝试用谷歌搜索这个答案,但找不到这个例子。我假设这需要通过 cookie 来实现。另外,如果是这种情况,是否会导致 SSL 加密页面出现任何问题?

更新:只设置一个在这么多天后就会过期的 cookie 怎么样?

这是我的代码:

   <div id="promotional-banner">
      <div id="promotional-wrapper">
          <div id="promotional-container">
              <p class="left"><img src="<?php echo Mage::getStoreConfig(Mage_Core_Model_Store::XML_PATH_SECURE_BASE_URL); ?>media/wysiwyg/infortis/fortis/custom/rewards.png" alt="Earn Rewards" title="Earn Rewards" /> Earn reward points every time you shop at WeePumpkin.com</p>
              <div class="right close-button"><span>X</span> Dismiss</div>
              <div class="clear"></div>
          </div>
      </div>
   </div>

   <script type="text/javascript">
     $$ = jQuery;
     $$(document).ready( function() {
        if ($$("#promotional-banner").is(":hidden")) {
        $$("#promotional-banner").delay("1000").fadeIn();
        }

     $$("div.close-button").click(function(){
        $$("#promotional-banner").delay("slow").fadeOut();
     });
     });
   </script>

最佳答案

如果您的意思是“永远永远”,例如当他们离开页面并返回时,您将需要合并服务器端技术。

如果您有未注册的用户,您可以使用 PHP(或类似的)来捕获他们的 IP 并用标志标记该 IP。标志的初始状态将为“显示”或类似状态。一旦他们点击关闭,就向您的服务器发送一个快速的 jQuery ajax 请求,将标记标记为“隐藏”。

显然,如果他们更改了 IP,您的信息就会过时。

您还可以使用 cookie 作为解决方案,但如果他们清除了 cookie,它就会丢失。

关于jquery - 如何在单击时永久隐藏某个用户的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18544148/

相关文章:

javascript - Jquery 从表中的特定类获取 html

javascript - 如何在mvc4中为以下代码编写javascript或jquery验证?

javascript - jQuery 隐藏 div,显示包含新内容的 div

android - 关闭 Android 推送通知

javascript - jQuery - 通过将其乘以复选框值来计算值

jquery - 在页面启动时使用 JQuery .load() 和 .hide() 和 .show()

nginx - 如何从 http 响应头中删除 Nginx?

javascript - 除星期四外,每天隐藏一个 div

ios - Swift iOS -In ViewWIllAppear 如何检查切换选项卡时 ImagePicker 是否呈现或消失,或者 View 是否被推开/关闭?

ios - dismissViewControllerAnimated 忽略过渡样式