我试图弄清楚如何隐藏一个元素,以便在用户单击“关闭”按钮时不再显示。基本上它只是一个带有促销信息的下拉菜单。如果用户单击“关闭”,我不希望该元素再次向该用户显示。
我希望它的功能就像此处看到的横幅 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/