jQuery 取不到maxHeight值,为毛值获取不到?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery 取不到maxHeight值,为毛值获取不到?相关的知识,希望对你有一定的参考价值。

$(function ()
var rtype = /(open|close)/i, getData = function (dt)
var parentDl = dt.data('parent_dl') || dt.parent(), minHeight = dt.data('min_height') || dt.height(), maxHeight = dt.data('max_height') || parentDl.height();
if (!dt.data('parent_dl')) dt.data('parent_dl', parentDl); dt.data('min_height', minHeight); dt.data('max_height', maxHeight);
return parentDl: parentDl, minHeight: minHeight, maxHeight: maxHeight ;
, maxLength = 13, rchs = /[^\u0000-\u00ff]/g, shell = $('.menu_slider');
shell.click(function (e)
var isClose, data, tar = e.target, dt = $(tar).parent();
if (rtype.test(tar.className) && dt[0].nodeName.toUpperCase() === 'DT') isClose = RegExp.$1.toLowerCase() === 'close'; (data = getData(dt)).parentDl.animate( height: isClose ? minHeight : maxHeight ); tar.className = isClose ? 'open' : 'close'; e.preventDefault();
);
);
OK,我知道原因了,因为我给了默认高度就是最小高度,所以加载的时候获取的dl的最大高度也就是默认的高度,所以点击时没变化,怎么修改后可以达到效果

$(function () 
    var rtype = /(open|close)/i,
        getData = function (dt) 
            var parentDl = dt.data(\'parent_dl\') || dt.parent(), minHeight = dt.data(\'min_height\') || dt.height(), maxHeight = dt.data(\'max_height\') || parentDl.height();
            if (!dt.data(\'parent_dl\')) 
                dt.data(\'parent_dl\', parentDl);
                dt.data(\'min_height\', minHeight);
                dt.data(\'max_height\', maxHeight);
            
            return parentDl: parentDl, minHeight: minHeight, maxHeight: maxHeight;
        ,
        maxLength = 13,
        rchs = /[^\\u0000-\\u00ff]/g,
        shell = $(\'.menu_slider\');

    shell.click(function (e) 
        var isClose, data, tar = e.target, dt = $(tar).parent();
        if (rtype.test(tar.className) && dt[0].nodeName.toUpperCase() === \'DT\') 
            isClose = RegExp.$1.toLowerCase() === \'close\';
            
            //这是你的
            //(data = getData(dt)).parentDl.animate(height: isClose ? minHeight : maxHeight);
            
            //这是俺的,你取值取错了
            var data= getData(dt);
            data.parentDl.animate(height: isClose ? data.minHeight : data.maxHeight);
            
            
            tar.className = isClose ? \'open\' : \'close\';
            e.preventDefault();
        
    );
);

源码给你贴上去了,以后写的时候认真点,这个错有点低级

追问

两种写法都可以的,只不过默认是展开的,我给dl加了高度后默认是收起来的,然后点击就取不到maxHeight值了,如果把高度去掉两种方法都可以,求解

参考技术A 虽然不明白,但是帮顶一下。看看后面的高手怎么解决。

以上是关于jQuery 取不到maxHeight值,为毛值获取不到?的主要内容,如果未能解决你的问题,请参考以下文章

jquery中 如何 使用 append() 方法 新添加的元素? $('#id').html()取不到值?

关于jquery中使用.val(),取不到值。为啥啊!

jquery中 如何 使用 append() 方法 新添加的元素? $('#id').html()取不到值?

jquery的.val()取不到input标签的值

jquery的.val()取不到input标签的值

jquery,发现一个问题,当表单属性为disabled时,$("#formId"). serialize()取不到该表单的值。如何才能取