0

我正在整理这个脚本,该脚本从包含 div #mini_ads 中提取两个子元素,将它们添加到数组中。我希望能够使用数组通过索引选择它们以进行操作。他们分别。

我知道我当然可以不使用数组来选择它们,但是我想要这个数组,因为我以后可能会添加更多元素。

问题是我无法通过数组中的索引单独选择项目。我要执行的当前脚本是选择和操作数组中的两个对象,就好像它们都是索引 [0]。

var miniAds = $('#mini_ads');
var elements = miniAds.children();
var changeWtime;
var adsArr = new Array();
var i = 0;
var x = 0;
adsArr.push(elements);
console.log(adsArr);
adsArr[i].css("display", "none");   
var changeWtime = setInterval(function () {
    for (x; x < 1; x++) {
        return x;
        while (x > i) {
            adsArr[1].css("display", "block");
        }
    };
}, 5000);
console.log(x);
changeWtime;

我不确定我要去哪里错了。援助将不胜感激。提前致谢。

4

3 回答 3

3

您的代码有问题

  • 当您推elements入“adsArr”时,您正在创建一个双数组:

    adsArr.push(elements);
    
  • 你在 for 循环中抛出了一个 return 语句:

    for (x; x < 1; x++ ){
        return x;
        // ...
    
  • whilefor.

解决方案

我打算口头解释解决方案,但在编写了一个示例后,我意识到有太多要解释的问题,这是另一个类似于您的解决方案:

var miniAds = $('#mini_ads'),
    elements = miniAds.children(),
    i = 2,
    x = 0;

elements.hide();

var changeWtime = setInterval(function () {
  if ( x < i ) {
      $(elements[x]).show();
  }

  x++;
}, 5000);

链接到 jsbin 上的示例

于 2013-09-25T06:10:20.817 回答
1

嗨,你应该像下面的函数那样推送子 div,然后我相信你可以执行你的任务......

var adsArr= [];

$('#mini_ads').children().each(
    function(i){
        adsArr.push(this);
    });
于 2013-09-25T06:09:38.233 回答
1

在纯 Javascript 中使用 .styles()

.css() 这是一个 JQuery 方法但不是 Javascript

参考http://www.w3schools.com/js/js_htmldom_css.asp

于 2013-09-25T06:10:23.207 回答