Скрыть ссылку при нажатии на - PullRequest
1 голос
/ 31 января 2012

У меня есть страница, которая показывает ссылки с "x новыми комментариями".Затем я нажимаю на ссылку, которую хочу скрыть.Когда я нажимаю кнопку «Назад», чтобы вернуться на свою страницу, я хочу, чтобы эта ссылка все еще была скрыта (теперь я видел комментарии, чтобы они больше не были новыми).

Можно ли это сделать с помощью простого JavaScript?Я не хочу перезагружать исходную страницу по соображениям производительности.

Ответы [ 3 ]

2 голосов
/ 31 января 2012

Чтобы скрыть ссылку при нажатии, просто:

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

Чтобы сохранить его скрытым для загрузки следующей страницы, потребуется немного больше работы. Вам нужно будет создать файл cookie после сокрытия ссылки и читать этот файл каждый раз, когда страница загружается (и соответственно скрываться).

1 голос
/ 31 января 2012

Ну, может быть, это может помочь.

Зависит от языка программирования, который вы использовали, вам понадобится значение сеанса.

Например, используя 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>

Надеюсь, моя идея работает на вас.

0 голосов
/ 31 января 2012

Это определенно можно сделать с помощью базового JavaScript.

В общем, здесь описаны следующие шаги:

  • зарегистрировать обработчик события click для элемента DOM, используя предварительно записанный обратный вызов
  • клик теперь будет вашим обратным вызовом и передаст ему объект события (мы назовем его e)
  • затем вы можете скрыть элемент на основе атрибута e.target объекта события.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...