Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分区';It’不是按类别分类的_Javascript_Jquery_Css - Fatal编程技术网

Javascript 分区';It’不是按类别分类的

Javascript 分区';It’不是按类别分类的,javascript,jquery,css,Javascript,Jquery,Css,我发现这应该和我要找的有关,也就是按类对列表进行排序。然而,在我的代码中,它不起作用。所以我想知道如何解决这个问题。我有两门课,“离线”和“无”。我希望类“脱机”出现在顶部,类“无”出现在底部的“脱机”区域下。我在每个div中还有一个类是“indbox”,因此,我尝试使用“getElementsByClassName”但它不起作用 这是我的 $(文档).ready(函数(){ $(“.con按钮”)。单击(函数(){ var cssObj={}; cssObj.left=$(this).pos

我发现这应该和我要找的有关,也就是按类对列表进行排序。然而,在我的代码中,它不起作用。所以我想知道如何解决这个问题。我有两门课,“离线”和“无”。我希望类“脱机”出现在顶部,类“无”出现在底部的“脱机”区域下。我在每个div中还有一个类是“indbox”,因此,我尝试使用“getElementsByClassName”但它不起作用

这是我的

$(文档).ready(函数(){
$(“.con按钮”)。单击(函数(){
var cssObj={};
cssObj.left=$(this).position().left;
cssObj.width=$(this).outerWidth();
$(“.controls.effect”).css(cssObj);
如果(this.id==“c-all”){
$('.offline').hide();
$('.offline').fadeIn(“slow”).show();
$('.online').hide();
$('.online').fadeIn(“slow”).show();
$('.none').fadeIn(“慢”).show();
}else if(this.id==“c-online”){
$('.offline').hide();
$('.online').hide();
$('.online').fadeIn(“slow”).show();
$('.none').hide();
}else if(this.id==“c-offline”){
$('.offline').hide();
$('.offline').fadeIn(“slow”).show();
$('.online').hide();
$('.none').hide();
}
});
$(“.con按钮”).eq(0).触发器(“单击”);
getSteams();
var elem=$('#offline').find('div').sort(sortMe);
功能排序(a,b){
返回a.getElementsByClassName(“脱机”)
html,正文{
身高:100%;
保证金:0;
背景色:#ffffff;
}
.包装纸{
文本对齐:居中;
位置:相对位置;
宽度:100%;
身高:100%;
显示:块;
}
.集装箱{
宽度:75%;
利润率:30px自动0;
位置:相对位置;
}
.标志盒img{
宽度:20%;
保证金:0自动;
}
.控制{
位置:相对位置;
宽度:100%;
}
.con按钮{
位置:相对位置;
背景色:白色;
边界:无;
保证金:0.5em0;
填充:0.5em 1em 0.5em 1em;
文本对齐:居中;
颜色:rgb(100,65164);
字体大小:20px;
过渡:.4s;
}
.con按钮:悬停{
光标:指针;
/*边框底部:3倍实心rgba(2242172361)*/
}
.con按钮:焦点{大纲:0;}
.hr{
边框顶部:1px实心#6441A4;
}
.效果{
位置:绝对位置;
显示:块;
左:0;
底部:5px;
高度:2倍;
宽度:60px;
过渡:0.4s缓进缓出;
/*边框底部:3倍实心rgba(100,65,164,1)*/
背景:#6441A4;
}
indbox先生{
宽度:100%;
显示:块;
利润率:5px0px;
填充:8px 0px;
}
.在线{
背景色:#98FB98;
}
.离线{
背景色:#ff9999;
}
.没有{
背景色:#D3;
}

全部的
在线 的
离线


通过查看您的代码,我发现您正在使用此功能;但是,您的操作方式不正确。在示例中,他们有:

function compare(a, b) {
  if (a is less than b by some ordering criterion) {
    return -1;
  }
  if (a is greater than b by the ordering criterion) {
    return 1;
  }
  // a must be equal to b
  return 0;
}
因此,为了在“none”之前排序“offline”,函数必须返回1

function sortMe(a, b){
    if (a.hasClass("offline")) {
        return 1; //if an element has offline, move it above.
    } else {
        return -1; //if an element doesn't have offline, it means it's none. Move it down.
    }
}

您可能需要添加条件以检查它们是否都有脱机类。

您的问题可以通过使用以下选项解决:

appendTo();
方法

而不是:

append();
方法


我在您的html代码中添加了两个附加div,并对您的javascript代码做了一个小小的更改,它可以正常工作

html如下所示:

   <div class="divider"><hr></div>
    <div id="online"></div>
    <div id="offline">
      <div class="notconnected"></div>
      <div class="nonexisting"></div>
    </div>
  </div>

javascript在这里进行了更改:

if(data2.status == 404) {
        game = "The Account doesn't exist";
        status = "none";
      } 
else {
        game = "Offline";
        status = "offline";
      }
      if(status==="none"){
       $('<div class="indbox ' + status + '" id="'+status+'"><a target="_blank" href="#">'+ indchannel + '<br/>' + game +'</a></div>').appendTo(".nonexisting");}

      else{
        $('<div class="indbox ' + status + '" id="'+status+'"><a target="_blank" href="#">'+ indchannel + '<br/>' + game +'</a></div>').appendTo(".notconnected");
      }  
    } );
if(data2.status==404){
game=“账户不存在”;
status=“无”;
} 
否则{
game=“离线”;
status=“离线”;
}
如果(状态==“无”){
$(“”).appendTo(“.nonexisting”);}
否则{
$('')。附于(“.notconnected”);
}  
} );

该方法的文档如下:

如果使用jquery,只需使用$(“.className”)。我认为它比GetElementsByclassName更好,是否可以将代码缩减到必要的部分?你的一些纯粹是为了动画“我在每个div中还有一个类是“indbox”,因此,我尝试使用“getElementsByClassName”,但它不起作用”–这是因为
getElementsByClassName
返回一个节点列表-并将使用他调用的AJAX和return的
@CBroe与jsp中的类进行比较,看看我的答案:D