在其他可调整大小的div宽度上实时监听

时间:2012-09-28 10:28:25

标签: javascript jquery

让我们说我们有一个div:

<div id="left">Some content</div>
带有id“left”的Div是可调整大小的div(可以在浏览器中用鼠标重新调整大小),当重新调整大小时,它接收当前宽度的CSS样式,如下所示:

<div id="left" style="width: 289px;">Some content</div>

我想要实现的是读取#left div的直播事件(或类似内容)的宽度值,并根据该值添加一些条件(它必须是直播事件,而不是在点击或鼠标上读取它发布点击等。)...提前感谢您的帮助!

SOLUTION:

您可以使用自定义绑定功能来实现此目的:

(function(){
        var interval;
        jQuery.event.special.liveresize = {
            setup: function(){
                var self = this,
                $this = $(this),
                $originalContent = $this.width();
                interval = setInterval(function(){
                if($originalContent != $this.width()) {
                        $originalContent = $this.width();
                        jQuery.event.handle.call(self, {type:'liveresize'});
                    }
                },100);
            },
            teardown: function(){
            clearInterval(interval);
            }
        };
        })();

然后只需称呼它:

$(function() {
            $('#left').bind('liveresize', function() {
                var actual_width = $(this).width();
                if(actual_width < 930) 
                {
                    $('#left').addClass('ng-av-small-left');
                    $('#left').addClass('ng-av-small-right');    
                } else 
                {
                    $('#left div.block div.left').removeClass().addClass('left');
                    $('#left div.block div.right').removeClass().addClass('right');
                }       
                });
        });

1 个答案:

答案 0 :(得分:0)

你可以像这样得到它

  var j = $('.box').height();

检查此链接是否有可调整大小的div标签

请参阅此链接

http://jqueryui.com/demos/resizable/#method-option

获取div的大小

http://www.ezineasp.net/post/Javascript-Get-Height-of-Div-onclick.aspx