"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como detectar alterações na altura DIV ou atributos CSS com jQuery?

Como detectar alterações na altura DIV ou atributos CSS com jQuery?

Publicado em 2024-11-09
Navegar:140

How to Detect Changes in DIV Height or CSS Attributes with jQuery?

Determinando alterações na altura DIV ou atributos CSS

Ao trabalhar com páginas da web, muitas vezes é necessário rastrear alterações na altura ou outro CSS atributos dos elementos. jQuery fornece várias opções para atender a essa necessidade.

Acompanhamento de eventos com 'change()':

Enquanto o evento 'change()' é usado principalmente para elementos de entrada , ele pode ser personalizado para detectar alterações de CSS. No entanto, esta abordagem envolve verificar periodicamente as propriedades CSS do elemento e disparar um evento se elas diferirem dos valores anteriores:

var $element = $("#elementId");
var lastHeight = $("#elementId").css('height');
function checkForChanges()
{
    if ($element.css('height') != lastHeight)
    {
        alert('xxx');
        lastHeight = $element.css('height'); 
    }

    setTimeout(checkForChanges, 500);
}

Custom Event Binding com 'bind()':

Uma solução mais eficiente envolve criar um evento personalizado e vinculá-lo ao elemento desejado:

$('#mainContent').bind('heightChange', function(){
        alert('xxx');
    });


$("#btnSample1").click(function() {
    $("#mainContent").css('height', '400px');
    $("#mainContent").trigger('heightChange'); //<====
    ...
});    

Nesse caso, acionamos o evento 'heightChange' sempre que a altura da div 'mainContent' for alterada.

Nota:

  • A frequência das verificações na função 'checkForChanges()' pode ser ajustada para atender a requisitos específicos.
  • Os métodos 'bind()' e 'trigger()' estão bem documentados na documentação do jQuery para referência futura.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3