Ich habe eine PHP-Seite mit einer ungeordneten Liste. Ich habe ein paar jQuery-Code, der für wartet ein Benutzer auf eines der Elemente in der Liste klicken:
$(function() {
$('li.large_box').css('cursor', 'pointer')
.click(function() {
$('#db_sections').empty();
var show_id = this.id;
$.post('get_section_dates.php', { show_id: show_id }, function(sections) {
$('#section_dates_feedback').html(sections);
});
});
});
Wenn ein Benutzer klickt auf eines dieser Elemente die jQuery-Code ist es id an ein PHP-Skript sendet, macht eine Datenbankabfrage und baut eine Dropdown-Liste mit den Ergebnissen:
if (isset($_POST['show_id'])) {
$show_id = $_POST['show_id'];
$result = mysql_query("SELECT `id`,`air_date` FROM `daily_show` WHERE show_id = '".$show_id."'");
echo"<div id='dates_select'>";
echo "<select id='date_select'>";
echo "<option value='0'>Choose a date</option>";
while ($query = mysql_fetch_assoc($result))
{
$id = $query['id'];
$air_date = strtotime($query['air_date']);
$date = date("M-d-Y \(D\)",$air_date);
echo "<option value='$id'>$date</option>";
}
echo "</select>";
echo "</div>";
}
das erste Mal, dass ich auf einem der Listeneinträge alles klicken ordnungsgemäß funktioniert schnell und die Drop-Down-Box kommt. Das Problem ist, wenn ich auf das nächste Listenelement klicke, dauert der Code ein paar Sekunden länger, um die neue Dropdown-Liste anstelle der alten zu erstellen. Jeder neue Klick auf ein anderes Listenelement verlängert die Zeit, die zum Erstellen der Dropdown-Liste benötigt wird, bis jedes Mal mehr als eine Minute benötigt wird.
Die Datenbanktabelle, die abgefragt wird, ist nur 12 Datensätze lang und gibt im Allgemeinen nur 1 oder 2 Zeilen zurück.
Ich bin neu bei PHP/jQuery und habe mich gefragt, ob irgendetwas offensichtlich in meinem Code diesen Prozess verlangsamt hat.
Danke für einen Blick auf mein Problem!
Vielen Dank für Ihre Anregung ich es in Firebug sah und ich denke, mein Hauptproblem ist, dass nach dem PHP-Code, den ich in meiner Frage gestellt, ich zwei Linien links, wo ich etwas echo wie dieses Echo "" was eine JavaScript-Datei ist, die einige Funktionen enthält, die ich brauche, nachdem das Dropdown-Feld ausgefüllt wurde. Es ist diese Datei, die eine Vielzahl von Malen geladen wird und die Verlangsamung verursacht. Diese js-Datei muss nicht jedes Mal geladen werden, wenn jemand auf ein Listenelement klickt, aber wenn ich das Echo aus der Skriptdatei kommentiere, bricht meine Seite zusammen. – JackBurton