zoukankan      html  css  js  c++  java
  • JQ对页面中某个DIV的大小变化进行监听

     1 //监听div大小变化
     2 (function($, h, c) {
     3     var a = $([]),
     4     e = $.resize = $.extend($.resize, {}),
     5     i,
     6     k = "setTimeout",
     7     j = "resize",
     8     d = j + "-special-event",
     9     b = "delay",
    10     f = "throttleWindow";
    11     e[b] = 250;
    12     e[f] = true;
    13     $.event.special[j] = {
    14         setup: function() {
    15             if (!e[f] && this[k]) {
    16                 return false;
    17             }
    18             var l = $(this);
    19             a = a.add(l);
    20             $.data(this, d, {
    21                 w: l.width(),
    22                 h: l.height()
    23             });
    24             if (a.length === 1) {
    25                 g();
    26             }
    27         },
    28         teardown: function() {
    29             if (!e[f] && this[k]) {
    30                 return false;
    31             }
    32             var l = $(this);
    33             a = a.not(l);
    34             l.removeData(d);
    35             if (!a.length) {
    36                 clearTimeout(i);
    37             }
    38         },
    39         add: function(l) {
    40             if (!e[f] && this[k]) {
    41                 return false;
    42             }
    43             var n;
    44             function m(s, o, p) {
    45                 var q = $(this),
    46                 r = $.data(this, d);
    47                 r.w = o !== c ? o: q.width();
    48                 r.h = p !== c ? p: q.height();
    49                 n.apply(this, arguments);
    50             }
    51             if ($.isFunction(l)) {
    52                 n = l;
    53                 return m;
    54             } else {
    55                 n = l.handler;
    56                 l.handler = m;
    57             }
    58         }
    59     };
    60     function g() {
    61         i = h[k](function() {
    62             a.each(function() {
    63                 var n = $(this),
    64                 m = n.width(),
    65                 l = n.height(),
    66                 o = $.data(this, d);
    67                 if (m !== o.w || l !== o.h) {
    68                     n.trigger(j, [o.w = m, o.h = l]);
    69                 }
    70             });
    71             g();
    72         },
    73         e[b]);
    74     }
    75 })(jQuery, this);

    使用:

    $("div元素").resize(function(){
        // 处理操作
    });
  • 相关阅读:
    WPF(ContentControl和ItemsControl)
    WPF(x:Key 使用)
    WPF(Binding集合对象数据源)
    WPF(x:Type的使用)
    WPF(初识DataTemplate)
    Asp.net 全局错误处理
    给年轻程序员的建议(转自csdn)
    在.net中未能用trycatch捕获到的异常处理(转载)
    c#语音读取文字
    IIS 7.0 和 IIS 7.5 中的 HTTP 状态代码
  • 原文地址:https://www.cnblogs.com/petrolero/p/14174563.html
Copyright © 2011-2022 走看看