单击时隐藏链接

时间:2012-01-30 20:58:18

标签: javascript caching

我有一个显示“x新评论”链接的页面。然后我点击我想要隐藏该链接的链接。当我点击后退按钮返回我的页面时,我希望该链接仍然被隐藏(我现在已经看到了这些评论,因此它们不再是新的)。

这可以通过简单的javascript完成吗?出于性能原因,我不想重新加载原始页面。

3 个答案:

答案 0 :(得分:2)

单击时隐藏链接很简单:

var a = document.getElementById("yourA");
a.onclick = function(){
    this.style.display = "none";
    return false;
};

为了保持下一页的隐藏,加载将需要更多的工作。您需要在隐藏链接后创建cookie,并在随后加载页面时读取相同的cookie(并相应地隐藏)。

答案 1 :(得分:1)

好吧,也许这可能会有所帮助。

取决于您使用的编程语言,您需要一个会话值。

例如,使用jQuery并假设您使用的是PHP:

<?php 
 //start the session
 session_start();

 //set the attribute
 $_SESSION['hide'] = false;

?>
<script>

//function to hide all class='test' elements
function hide(h){
 if(h){
  $('.test').hide();
 } else {
  $('.test').show();
 }
}

/*do this always when page loads
 * verify with the value stored in session to hide or not the links
 */
window.onload = hide(<?php echo $_SESSION['hide']; ?>);

//onready
$(function() {

 //when link class='test' is clicked
 $('.test').click(function(){

  //fadeOut or just $(this).hide();
  $(this).fadeOut();

  //set the session to hide = true
  <?php $_SESSION['hide'] = true; ?>

 });

});
</script>

//here goes your html
<body>
<a href="javascript:void(0);" title="Link" class="test">I am link 1</a>
<br/><br/>
<a href="javascript:void(0);" title="Link" class="test">I am link 2</a>
<br/><br/>
<a href="javascript:void(0);" title="Link" class="test">I am link 3</a>
<br/><br/>
<a href="javascript:void(0);" title="Link" class="test">I am link 4</a>
</body>

希望我的想法适合你。

答案 2 :(得分:0)

这绝对可以用基本的JavaScript来完成。

一般来说,以下是涉及的步骤:

  • 使用预先编写的回调在DOM元素上注册'click'事件处理程序
  • 现在点击一下你的回调并传递一个事件对象(我们称之为e
  • 然后,您可以根据事件对象的e.target属性隐藏元素。