从数组中获取数字并将此数字设置为其他函数的函数

时间:2015-11-11 07:58:34

标签: javascript jquery html

我遇到一些jquery代码的问题:)

案例如下:

  1. 我有一个数字 var arr 的数组。

  2. 我有一个函数 get_number(),它从中获取每个数字 阵列

  3. 我有参数 inner_li_height(数字)的功能,它获取元素的最大高度并将此高度设置为其他元素。
  4. 但有些东西会崩溃...... :(

    这是jsfiddle


    HTML结构

    <div id="slide-1">
        <div class="inner-li">
            <p>Lorem Ipsum...</p>
        </div>
    </div>
    
    <div id="slide-2">
        <div class="inner-li">
            <p>Lorem Ipsum...</p>
        </div>
    </div>
    
    <div id="slide-3">
        <div class="inner-li">
            <p>Lorem Ipsum...</p>
        </div>
    </div>
    


    带数字的数组     //将数字保存在数组中

    var arr = [];
    
    $("div[id^='slide-']").each(function() {
        arr.push(parseInt( $(this).attr('id').split('-')\[1] ));
    }); 
    


    从数组中获取每个数字

    // Get each number from array
    function get_number() {
        $.each(arr, function(i, v) {
            return arr[i];
        });
    }
    


    获取内部元素的maxHeight

    // Get max-height of inner-li and set to the others with the same class
    function inner_li_height(number) {
    
        var heights = $("div[id^='slide-" + number + "'] .inner-li").map(function () {
            return $(this).height();
        }).get(),
    
        maxHeight = Math.max.apply(null, heights);
    
        console.log(maxHeight);
    
        $("div[id^='slide-" + number + "'] .inner-li").height(maxHeight);
    }
    


    在这里调用函数:

    // Call function inner_li_height
    inner_li_height(get_number);
    


    如果有人可以帮助我,我会很高兴:)

1 个答案:

答案 0 :(得分:-1)

尝试使用适用于多个DOM对象的单个函数:

// Get max-height of inner-li and set to the others with the same class
function inner_li_height(attr) {

   $(attr).each(function(i,v) {
    var heights = $(attr).map(function () {
        return $(this).height();
    }).get();

    maxHeight = Math.max.apply(null, heights);
    console.log(maxHeight);

    $(attr).height(maxHeight);
   });
}

inner_li_height('div[id^="slide-"] .inner-li');

jsfiddle:http://jsfiddle.net/hr993Lsj/1/