Ich habe eine index.php Seite und eine info.php Seite. Die index.php lädt den Inhalt von info.php in ein div.Halten Sie div offen nach AJAX-Aufruf?
Index.php Datei:
<html>
<head>
<script type="text/javascript" src="includes/jquery-3.2.1.min.js"></script>
</head>
<body>
<div id="data"></div>
<script>
function loadDoc(){
$("#data").load("info.php", function() {
//console.log("Load done.");
});
};
$(function(){loadDoc();});
setInterval (loadDoc, 5000);
</script>
</body>
</html>
info.php:
<html>
<head>
<style>
.box
{
border:1px solid #101010;
padding:20px;
}
#back
{
display:none;
}
</style>
<script>
$("#openBack").click(function(){
$("#front").hide();
$("#back").show();
});
$("#openFront").click(function(){
$("#back").hide();
$("#front").show();
});
</script>
</head>
<body>
<div id="front" class="box">
front // <a href="#" id="openBack">open back</a>
</div>
<div id="back" class="box">
back // <a href="#" id="openFront">open front</a>
</div>
</body>
</html>
Das Problem: wenn ich die div öffnen, ist es nach einem geschlossen einige Sekunden, da der AJAX-Aufruf den Inhalt ersetzt. Wie kann ich das verhindern? Ich dachte daran, eine Art Toggle zu machen, aber ich verstehe nicht, wie ich es erreichen könnte oder ob es das Problem lösen würde.
_Es schließt sich automatisch nach ein paar Sekunden wegen des AJAX-Aufrufs._ Nein, die Ajax-Anfrage sollte nichts schließen. Stattdessen, wenn das div sich innerhalb '# data' befindet, ja, da alle DOMs überschrieben werden. –
Du hast Recht. Wie könnte ich das lösen? – derrtyones
Das 'div' ist innerhalb' # data' ?? Versuchen Sie bitte den entsprechenden HTML/PHP-Code hinzuzufügen. –