2016-02-23 3 views
2

В приведенном ниже коде я запускаю цикл. Внутри этого у меня есть 4 ссылки, а также я написал событие onclick. Если я нажму на конкретную ссылку, получив user_id, она войдет в функцию myFunction, а оттуда я вызову функцию refreshId(session_to_user). Впервые событие клика работает нормально. Если я нажму на другую ссылку, начнут работать еще две функции.Одна функция в javascript называется несколько раз

Мое требование в соответствии со ссылкой, которую я нажимаю на функцию refreshId(session_to_user), должно работать. При первом нажатии он должен работать только для моего первого user_id. Если я щелкнул вторую ссылку, первый user_id должен быть приостановлен, следует использовать только вторую ссылку user_id. Пожалуйста, помогите мне.

for loop() 
{ 
    <a id='some' name='some' onclick='myFunction(".$result['user_id'].")'></a> 
} 
function refreshId(session_to_user) {           
    setInterval(function() 
     $('.chat-box').load("<?php echo base_url()."users/message/refresh_div/"; ?>" + session_to_user); 
    }, 10000); 
} 

function myFunction(user_id) { 
    var session_to_user = user_id; 
    refreshId(session_to_user); 
} 

ответ

0

вам необходимо очистить интервал при каждом вызове: -

var interval; 
function refreshId(session_to_user) {           

    if(interval) 
     clearInterval(interval); 

    interval = setInterval(function() 
     $('.chat-box').load("<?php echo base_url()."users/message/refresh_div/"; ?>" + session_to_user); 
    }, 10000); 
}