首页 > web前端 > css教程 > 如何使用 jQuery 检测 CSS 变化,特别是高度变化?

如何使用 jQuery 检测 CSS 变化,特别是高度变化?

Barbara Streisand
发布: 2024-11-03 11:20:02
原创
382 人浏览过

How to Detect CSS Changes, Particularly Height Changes, Using jQuery?

如何使用 JQuery 检测 CSS 更改

JQuery 没有用于检测 CSS 属性更改的内置事件。但是,您可以使用以下方法创建自己的方法:

连续 DOM 监控(第一种方法):

定期轮询 DOM(例如,每 500 毫秒)以将当前 CSS 属性值与之前的值进行比较。如果不同,则触发事件。

示例:

<code class="javascript">var $element = $("#elementId");
var lastHeight = $("#elementId").css('height');

function checkForChanges() {
    if ($element.css('height') != lastHeight) {
        alert('xxx');
        lastHeight = $element.css('height');
    }
    setTimeout(checkForChanges, 500);
}

checkForChanges();</code>
登录后复制

手动事件触发(第二种方式):

将自定义事件处理程序绑定到目标元素,然后在更改元素的 CSS 时手动触发此事件。

示例:

<code class="javascript">$('#mainContent').bind('heightChange', function(){
    alert('xxx');
});

$("#btnSample1").click(function() {
    $("#mainContent").css('height', '400px');
    $("#mainContent").trigger('heightChange');
});</code>
登录后复制

具体确定高度变化(初始问题的解决方案):

在检测 #mainContent div 高度变化的特定情况下,使用第二种方法并使用以下代码:

<code class="javascript">$('#mainContent').bind('heightChange', function () {
    $("#separator").css('height', $("#mainContent").height());
});</code>
登录后复制

记住在对 #mainContent div 进行任何高度更改之前绑定事件处理程序。

以上是如何使用 jQuery 检测 CSS 变化,特别是高度变化?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板