Oi Pessoal,
Estou executando o método scrollIntoView mas não está apontando para o objeto que quero, já verifiquei o endereço que passei para o método e está correto. Tem algum meio de ver detalhes do porque ele não está funcionando? tipo um “show error” desse método?
Obrigado.
Use as ferramentas de inspeção do navegador … ele mostrará no console o erro.
Se estiver usando Firefox, sugiro a instalção do Firebug;
Abs
mudei no console para mostrar apenas o erros de javascript mas está aparecendo nada.
Como se não houvesse erro.
Phgferreira.
Posta o HTML e JavaScript que você está usando pra gente dá uma olhada?
JAVASCRIPT
comp = new CompRolagem('row_', 5, '', 3000);
function autoScroll() {
// iniciar loop de rolagem automatica do componente
setInterval(function(){
// verifica se tem algum componente fora da janela.
if (document.getElementById(comp.antes + (comp.indice + comp.limite) + comp.depois) != null) {
// [FALHANDO SEM ERRO] move a rolagem para o item do indice
document.getElementById(comp.antes + (comp.indice) + comp.depois).scrollIntoView({block: "start", behavior: "smooth"});
// passa para o indice seguinte
comp.indice++;
} else {
// caso não tenha componente fora da janela, volta para o primeiro componente
comp.indice = 0;
}
},comp.pausa);
}
function CompRolagem(antes, limite, depois, pausa){
this.antes = antes;
this.depois = depois;
this.indice = 0;
this.limite = limite;
this.pausa = pausa;
}
OBS: Estou usando JSF
PAGINA
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<link rel="stylesheet" type="text/css" href="estilo.css" />
<script type="text/javascript" language="javascript" src="js/autoScroll.js">
</script>
</h:head>
<h:body onload="autoScroll()">
<h:form id="form">
<p:scrollPanel id="janela" styleClass="janela_fixa">
<p:dataGrid id="data_grid" var="leito" value="#{senirBean.leitos}" columns="1" emptyMessage="Nenhum Leito Pendente" rowIndexVar="i">
<input id="row_#{i}" type="hidden" />
...
</p:dataGrid>
</p:scrollPanel>
</h:form>
</h:body>
</html>
Senhores, RESOLVIDO.
tive que trocar o scrollPanel por uma div e também tive que trocar o input do tipo hidden para uma div vazia.
OBS: não testei ainda para saber se tem haver, mas também inclui um style=“overflow: hidden” da div que ficou no lugar do scrollPanel. Segue abaixo o que tive que alterar no HTML:
PAGINA PRINCIPAL (HTML)
<p:dataGrid id="data_grid" var="leito" value="#{senirBean.leitos}" columns="1" emptyMessage="Nenhum Leito Pendente" rowIndexVar="i">
<f:facet name="header">
<p:outputLabel value="SENIR - Nucleo Interno de Regulação" />
</f:facet>
<div id="row_#{i}"></div>
… (resto do código) …
ESTILO.CSS
.janela_fixa {
overflow: hidden;
cursor: default;
width: 100%;
height: 543px;
1 curtida
Boa, Man.
Obrigado por ter postado a solução