Как быстро скрыть элемент тега привязки на событии onclick с помощью jQuery?

0

У меня две гиперссылки. Я прячу одну гиперссылку на клик другой гиперссылки и наоборот. Он работает абсолютно нормально для меня на моей локальной машине. Но проблема возникает, когда я загружаю и запускаю те же функции с онлайн-сервера.

На сервере соответствующая гиперссылка не скрывает гораздо быстрее по сравнению с экземпляром локальной машины. Из-за чего пользователь может снова щелкнуть гиперссылку, которую он уже нажал, и ссылка, как ожидается, будет скрыта. Для скрытия соответствующей гиперссылки требуется один или два момента. Я не хочу этой задержки. Гиперссылка должна немедленно скрыться после события клика. Я попытался отключить/включить гиперссылку, но для меня это не сработало.

Мой код выглядит следующим образом:

<script language="javascript" type="text/javascript">
$(".fixed").click(function(e) { 
    var action_url1 = $(this).attr('delhref');
    var qid = $(this).data('q_id');


    $(".fixed").colorbox({inline:true, width:666});

    $("#fixedPop_url").off('click').on('click',function(event) {
      event.preventDefault();
      $.get(action_url1, function(data) {

        //$("#fix_"+qid).bind('click', false);
        $("#fix_"+qid).hide();//This portion of code I want to make fast, it taking some time to hide and meanwhile user can click on this link. I want to avoid it.
        $("#notfix_"+qid).show();
        //$("#notfix_"+qid).bind('click', true);
        alert("Question status updated successfully");

      });      
    });       

    $(".c-btn").bind('click', function(){
      $.colorbox.close();
    });
  });

  $(".notfixed").click(function(e) { 
    var action_url2 = $(this).attr('delhref');
    var qid = $(this).data('q_id');

    $(".notfixed").colorbox({inline:true, width:666});

    $("#notfixedPop_url").off('click').on('click',function(event){
      event.preventDefault();
      $.get(action_url2, function(data) {

        //$("#notfix_"+qid).bind('click', false);
        $("#notfix_"+qid).hide();//This portion of code I want to make fast, it taking some time to hide and meanwhile user can click on this link. I want to avoid it.
        $("#fix_"+qid).show();
        //$("#fix_"+qid).bind('click', true);
        alert("Question status updated successfully");

      });       
    });
</script> 
Теги:
hyperlink
show-hide

1 ответ

2
Лучший ответ

Вам не нужно писать код части скрытия в полной функции запроса на get. В прямом эфире на это потребуется время, чтобы принести rspond.so просто держать его за пределами get function.something, как это:

 $(".fixed").click(function(e) { 
    var action_url1 = $(this).attr('delhref');
    var qid = $(this).data('q_id');
    $("#fix_"+qid).hide();
    //rest code......
 });
 $(".notfixed").click(function(e) { 
    var action_url2 = $(this).attr('delhref');
    var qid = $(this).data('q_id');
    $("#notfix_"+qid).hide();//hide it here
    //rest code......
 });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню