Parar uma função com mouseenter
Galera, é o seguinte.
Quando eu tiro o mouse de dentro da div(mouseleave) eu chamo uma função, e ela fica executando de 25 em 25 segundos, ok ate ai blz.
Porém quando eu colocar o mouse sobre a div(mouseenter) eu quero que a função pare de ser executada.
Eu não estou conseguindo fazer a função parar, já fiz de tudo e ela continua sendo executada.
O que estou fazendo de errado ? o que devo fazer para funcionar ?
Obrigado :)
A função que fica executando é a buscar();
e la no final do código tem as funções do mouseleave e mouseenter.
<script type="text/javascript" language="javascript" src="js/jquery-2.1.1.js"></script>
<script type="text/javascript">
var permicao = 1; //Variavel que indicara a permicao da funcao "buscar_auxiliar()"
//Funcao que chamara o arquivo "buscar.php" para varrer o banco
function buscar(binario){
var busca_ajax;
//Verificao navegador
if(window.XMLHttpRequest) {
busca_ajax = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
busca_ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
// Arquivo PHP juntamente com o valor digitado no campo, e a função "escape()" converte os caracteres especiais em hexadecimal iniciado por "%".
var url = "consulta/busca_postagem.php?verifica=ok&grupo=<?php echo $codigogrupo?>&nomegrupo=<?php echo $nomegrupo ?>";
// Chamada do metodo open e envia os dados para o arquivo buscar.php.
busca_ajax.open("Get", url, true);
// Quando o objeto recebe o retorno, chamamos a seguinte função;
busca_ajax.onreadystatechange = function(){
//Aguarda o ajax executar
if(busca_ajax.readyState == 4 && busca_ajax.status == 200) {
//Resposta retornada pelo "buscar.php" via "echo"
var resposta = busca_ajax.responseText;
//Verifica se e um conteudo vazio.
if(resposta != "" && !(resposta.match(/^\s+$/))){
//Criamos uma "div" com o conteudo encontrado dentro e colocamos tudo dentro da tag "p".
$("#postbase").html(resposta);
$("#postbase").find("script").each(function(i) {
eval($(this).text());
});
permicao = 0; //Coloca 1 para que a função "buscar_auxiliar()" consiga chamar novamente esta função ("buscar(binario)").
}
else{
permicao = 0; //Caso algo de errado no "if" coloca a permicao para "1", permitindo outra busca nesta funcao ("buscar(binario)") chamada pela função "buscar_auxiliar()"
}
}
}
}
//------------------------------------------------------------------------------------
function buscar_auxiliar(){ //Funcao auxiliar que serve para chamar a funcao "buscar(binario)", mas impedindo que a mesma seja chamada novamente antes de realizar o pedido de busca anterior.
if(permicao != 0){
//Verifica se tem permicao para chamar a funcao "buscar(binario)" (para nao chamar a outra funcao antes que a mesma termine as buscas).
permicao = 0; //Altera a variavel "permicao" para que este "if" não permita que a funcao "buscar(binario)" não seja chamada antes do tempo.
window.setInterval("buscar(0)", 25000); //Chama a funcao "buscar(binario)".
}
}
//------------------------------------------------------------------------------------
//Variavel usada dentro da funcao "busca_automatica()", para que o botao "busca_ajax automática" chame a funcao "busca_automatica()" apenas uma vez.
$(function() {
$('#postbase').on("mouseleave",function(){
var bloqueio= 0;
if(bloqueio == 0){
//Verifica se a variavel esta com o valor original, evitando que o comando "window.setInterval" seja chamado mais de uma vez.
permicao =1;
buscar_auxiliar(); //Funçao ativada automaticamente de tempo em tempo.
bloqueio = 1; //Muda o valor da variavel, impedindo que o "if" deixe executar novamente o comando "window.setInterval".
}
}).on("mouseenter",function(){
permicao =0;
});
});
$(function() {
$('#basepaginas').on("mouseleave",function(){
var bloqueio= 0;
if(bloqueio == 0){
//Verifica se a variavel esta com o valor original, evitando que o comando "window.setInterval" seja chamado mais de uma vez.
buscar_auxiliar();
bloqueio = 1; //Muda o valor da variavel, impedindo que o "if" deixe executar novamente o comando "window.setInterval".
}
}).on("mouseenter",function(){
permicao =0;
});
});
</script>Discussão (2)
Carregando comentários...