У меня две гиперссылки. Я прячу одну гиперссылку на клик другой гиперссылки и наоборот. Он работает абсолютно нормально для меня на моей локальной машине. Но проблема возникает, когда я загружаю и запускаю те же функции с онлайн-сервера.
На сервере соответствующая гиперссылка не скрывает гораздо быстрее по сравнению с экземпляром локальной машины. Из-за чего пользователь может снова щелкнуть гиперссылку, которую он уже нажал, и ссылка, как ожидается, будет скрыта. Для скрытия соответствующей гиперссылки требуется один или два момента. Я не хочу этой задержки. Гиперссылка должна немедленно скрыться после события клика. Я попытался отключить/включить гиперссылку, но для меня это не сработало.
Мой код выглядит следующим образом:
<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>
Вам не нужно писать код части скрытия в полной функции запроса на 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......
});