如何使用jQuery在onclick事件上快速隐藏锚标记元素?

时间:2014-03-26 06:54:41

标签: javascript jquery html hyperlink show-hide

我有两个超链接。我在点击其他超链接时隐藏了一个超链接,反之亦然。它在我的本地机器上对我来说非常好。但是,当我从在线服务器上传并运行相同的功能时,问题就出现了。

在服务器上,与本地计算机实例相比,相关超链接的隐藏速度并不快。由于哪个用户可以再次点击他已经点击的超链接,并且该链接应该被隐藏。隐藏相关超链接需要一两个小时。我不想那么拖延。点击事件后,超链接应立即隐藏。我尝试禁用/启用超链接,但它没有为我工作。

我的代码如下:

<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's 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's 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> 

1 个答案:

答案 0 :(得分: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......
 });