Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 为什么需要四到五次刷新才能将我的API图像/对象显示在屏幕上?(Jquery/HTML)_Javascript_Jquery_Html_Materialize - Fatal编程技术网

Javascript 为什么需要四到五次刷新才能将我的API图像/对象显示在屏幕上?(Jquery/HTML)

Javascript 为什么需要四到五次刷新才能将我的API图像/对象显示在屏幕上?(Jquery/HTML),javascript,jquery,html,materialize,Javascript,Jquery,Html,Materialize,有点新手 我正在编写一个搜索函数,它根据api将所有旋转木马图像加载到我的数据库中。我用的是旋转木马 所以。。。 首先,它会启动“所有”之类的东西 然后,当您在输入中输入关键点时,它会根据过滤后的对象数组过滤并重新渲染旋转木马图像 因此,问题:- 1) 当我第一次加载localhost:3000时,需要刷新五到六页才能显示图像。那么HTML是在数据准备好之前加载的吗 2) 当我输入搜索时,它会正确过滤&当我创建一组具有完全相同的class/id名称的新元素并将html更改为这些名称时,屏幕上不会

有点新手

我正在编写一个搜索函数,它根据api将所有旋转木马图像加载到我的数据库中。我用的是旋转木马

所以。。。 首先,它会启动“所有”之类的东西

然后,当您在输入中输入关键点时,它会根据过滤后的对象数组过滤并重新渲染旋转木马图像

因此,问题:-

1) 当我第一次加载localhost:3000时,需要刷新五到六页才能显示图像。那么HTML是在数据准备好之前加载的吗

2) 当我输入搜索时,它会正确过滤&当我创建一组具有完全相同的class/id名称的新元素并将html更改为这些名称时,屏幕上不会显示任何内容

注意:我怀疑这与启动时必须多次刷新页面加载是同一个问题。但我无法刷新页面,因为这将清除搜索并使我返回“全部”

那么我在这里错过了什么?您在jquery/javascript中添加了什么来确保HTML等待jquery完成创建元素,并将它们附加到新的、重新创建的div中?或者,是否有某种方法将所有内容整理好,以确保正确的流程发生

HTML:

<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">

<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>

</head>

<body>

<div id="carouselId" class="carousel">

   // carousel items in here are. Docs say they each 'tile' should be like this:

        <a class="carousel-item" href="#linktoSomewhere">
            <img src="https://lorempixel.com/250/250/nature/1">
        </a>
</div>
</body>

我通常更喜欢在标题中设置所有css文件,如下所示:

<head>
<meta charset="UTF-8">
<title>[A USEFULL TITLE]</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="assets/bootstrap-3.3.7-dist/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="assets/font-awesome-4.7.0/css/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="assets/css/screen.css">
</body>
<script src="assets/js/jquery-3.2.0.min.js"></script>
<script src="assets/moment/moment.js"></script>
<script src="assets/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<script src="assets/js/script.js"></script>
<script src="assets/js/sriptForLocalGraphs.js"></script>
</html>
我还喜欢创建一个字符串,并立即将其附加到HTML中,而不是每次都添加一个片段:

例如:

var createAForm = function(SomeHandyData){
    var $resultaatString = "";
    $.each(SomeHandyData, function (index, item) {
$resultaatString + = <img id='localImage' class='media-object' src='assets/media/" + longName + ".png' alt='" + longName + "' title='" + longName + "'>
});

    $("#InAELEMENTDIV").html($resultaatString);
};
var createAForm=function(SomeHandyData){
var$resultaatString=“”;
$.each(SomeHandyData,函数(索引,项){
$resultaatString+=
});
$(“#InAELEMENTDIV”).html($resultaatString);
};
var init = function () {
DoSomeFunctions();
};
$(document).ready(init());
var createAForm = function(SomeHandyData){
    var $resultaatString = "";
    $.each(SomeHandyData, function (index, item) {
$resultaatString + = <img id='localImage' class='media-object' src='assets/media/" + longName + ".png' alt='" + longName + "' title='" + longName + "'>
});

    $("#InAELEMENTDIV").html($resultaatString);
};