2016-07-11 9 views
-2

Ich versuche, eine Rolle zu machen, um .html Datei in einem div. Hinzuzufügen. Aber ich habe hier ein Problem. Wenn ich scrolle hinunter meinen jquery Code, der viel Zeit page.html anfügt, feilen Sie auch, wenn ich es herauf page.html viel Zeit anhefte. Was ist das Problem in meinem Code kann mir hier jemand helfen?Jquery Append HTML-Datei in einem div wiederholt

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</head> 

<body> 
<div class="abc"></div> 
</body> 
</html> 

JS

$(window).scroll(function() { 
    if ($(window).scrollTop() >= 300) { 

     $.get("page.html", function(data) { 
     $(".abc").append(data); 
     }); 
    } 
}); 
+1

es passiert jedes Mal, wenn die Scroll-Ereignis ist anhängt. Man merkt, dass es passiert, während ... Scrollen ... oder? –

+0

@KevinB Wie ist der richtige Weg, mein Lieber? – Azzo

Antwort

1

können Sie die HTML-Datei anhängen nur einmal mit Hilfe einer einfachen Variablen

var added = false; 

$(window).scroll(function() { 
    if ($(window).scrollTop() >= 300 && added == false) { 
     added = true; 
     $.get("page.html", function(data) { 
      $(".abc").append(data); 
     }); 

    } 
}); 
+0

alles ist gleich. Es wiederholt sich – Azzo

+0

@KevinB: Ich habe die Antwort aktualisiert, ich habe es versäumt, die vollständige Bedingung einzugeben $ (window) .scrollTop()> = 300 && hinzugefügt == false – Deep

+0

@Deep Ich habe Ihre aktualisierte Antwort getestet es ist nicht behoben mein Problem. Es wird nicht gestoppt, wenn ich nach unten scrolle und nach oben scrolle. – Azzo