【问题标题】:Javascript array value in Jquery [fixed it]Jquery 中的 Javascript 数组值 [已修复]
【发布时间】:2015-03-05 09:24:15
【问题描述】:

所以,我有一个问题。该函数应该获得#content 数组第一个变量的值的高度。 我尝试了很多不同的方法,但我无法做到。

var contentHeight = ["Height1", "Height2", "Height3", "Height4", "Height5", "Height6"];
var contentSelection = 0;
var Height1 = 200;
var Height2 = 400;
var Height3 = 600;
var Height4 = 800;
var Height5 = 1000;
var Height6 = 1200;

function someFunction(){
   $('#content').animate({'height' : contentHeight[contentSelection] +'px'},500);
}

谢谢,

【问题讨论】:

  • 数组在哪里?我没有看到数组contentHeight
  • 不知何故我删除了它,但我现在修复了它
  • contentHeight 数组不是 key => value 数组,它只是一个通用的字符串数组。您可以通过在数组之前声明高度值来从字符串中删除括号,或者以更具响应性的方式执行此操作。请注意,通过这种方式,您将需要使用整数访问数组值(就像您所做的那样),但您不会真正清楚地了解您正在获得的数据,不确定您是否在计划。
  • 感谢您的回复 briosheje,我尝试为页面上的每个页面设置不同的高度。因此,如果您单击菜单中的按钮,内容将根据其中的内容调整其高度。但是我必须以另一种方式尝试它
  • 内容将根据 div(在您的情况下为您的 #content div)css 属性自动调整大小。我个人建议您首先为您的#content div 设置一个非常舒适且响应迅速的 CSS,然后最终使用 javascript 进行一些操作。 “根据内容调整高度”是什么意思?您能否更准确地说明“内容”的含义?对于这种情况,也许我们可以为您提供更多帮助;)

标签: javascript jquery arrays variables web


【解决方案1】:
var Height1 = 200;
var Height2 = 400;
var Height3 = 600;
var Height4 = 800;
var Height5 = 1000;
var Height6 = 1200;
var contentHeight = [Height1, Height2, Height3, Height4, Height5, Height6];
var contentSelection = 0;

function someFunction(){
   $('#content').animate({'height' : contentHeight[contentSelection] +'px'},500);
}

或者简单地说:

contentHeight = [];
for (var i = 200; i <= 1200; i+=200) {
 contentHeight.push(i);
}
var contentSelection = 0;

function someFunction(){
    $('#content').animate({'height' : contentHeight[contentSelection] +'px'},500);
}

尽管这可行,但您应该(在我看来)针对这种情况使用不同的方法。使用索引来访问这些值并不能为您提供任何有关所获得值的线索,因此您可能需要根据自己的需要更改代码(和数组结构)。

【讨论】:

    【解决方案2】:

    似乎缺少用于保存您的值的数组 contentHeight。也许这只是假设。我正在添加它以完成,但它应该可以工作。

    我个人也会考虑字典类型的对象。

    var Height1 = 200;
    var Height2 = 400;
    var Height3 = 600;
    var Height4 = 800;
    var Height5 = 1000;
    var Height6 = 1200;
    
    var contentHeightArray1 = [200,400, 600, 800, 1000, 1200];
    
    var contentHeightArray2 = [Height1,Height2, Height3, Height4, Height5, Height6 ];
    
    var contentHeightDictionary = {
    'Height1':200,
    'Height2':400,
    'Height3':600,
    'Height4':800,
    'Height5':1000,
    'Height6':1200
    };
    
    function someFunction(in_params){
       $('#content').animate({'height' :in_params.contentList[in_params.heightIndex] +'px'},500);
    }
    
    var contentSelection = 0;
    someFunction({contentList:contentHeightArray1, heightIndex:contentSelection});
    
    contentSelection = 3;
    someFunction({contentList:contentHeightArray2, heightIndex:contentSelection});
    
    contentSelection = 'Height5';
    someFunction({contentList:contentHeightDictionary, heightIndex:contentSelection});
    
    someFunction({contentList:contentHeightDictionary, heightIndex:'Height6'});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多