Ich versuche, ein Skript nur ausführen, wenn die Bildschirmgröße größer als 750 Pixel ist, wenn es nicht dann das Skript nicht ausgeführt wird. Ich habe versucht, etwas Code dafür zu schreiben, aber es funktioniert nur bei der Seitenaktualisierung. Zum Beispiel, mein Skript macht mein Side Panel (.link-panel
) zu stoppen, wenn es die (.footer)
erreicht. Wenn ich meinen Bildschirmgrößencode einstelle, funktioniert er, wenn ich die Größe des Bildschirms auf 750px reduziere, aber wenn ich die Größe der Größe ändere, funktioniert das Skript nicht richtig und die Seite muss aktualisiert werden, damit sie wieder funktioniert.Ausführen von Skript auf der Grundlage der Bildschirmgröße
jQuery (erste Lösung)
if ($(window).width() >= 750) {
var windw = this;
$.fn.followTo = function(elem) {
var $this = this,
$window = $(windw),
$bumper = $(elem),
bumperPos = $bumper.offset().top + -40,
thisHeight = $this.outerHeight(),
setPosition = function() {
if ($window.scrollTop() > (bumperPos - thisHeight)) {
$this.css({
position: 'absolute',
top: (bumperPos - thisHeight)
});
} else {
$this.css({
position: 'fixed',
top: 60
});
}
};
$window.resize(function() {
bumperPos = pos.offset().top;
thisHeight = $this.outerHeight();
setPosition();
});
$window.scroll(setPosition);
setPosition();
};
$('.cover').followTo('.footer');
}
jQuery zweite Lösung
if ($(".link-panel").css("float") == "left") {
var windw = this;
$.fn.followTo = function(elem) {
var $this = this,
$window = $(windw),
$bumper = $(elem),
bumperPos = $bumper.offset().top + -40,
thisHeight = $this.outerHeight(),
setPosition = function() {
if ($window.scrollTop() > (bumperPos - thisHeight)) {
$this.css({
position: 'absolute',
top: (bumperPos - thisHeight)
});
} else {
$this.css({
position: 'fixed',
top: 60
});
}
};
$window.resize(function() {
bumperPos = pos.offset().top;
thisHeight = $this.outerHeight();
setPosition();
});
$window.scroll(setPosition);
setPosition();
};
$('.cover').followTo('.footer');
}
Meine zweite Lösung läuft nur das Skript, wenn meine Eigenschaft float auf .link-panel
left
ist. Meine -Eigenschaft wird in einer Medienabfrage entfernt, wenn die Seite 750px ist. Diese Lösung funktioniert nur bei Seitenaktualisierungen wie die letzte Lösung. Wie kann ich es so machen, dass, wenn der Benutzer die Größe von < = 750px auf> 750px ändert, sie die Seite nicht aktualisieren müssen, damit das Skript ordnungsgemäß funktioniert?
Mit der Größenänderungsfunktion funktioniert das Skript nur, wenn das Fenster in der Größe geändert wird. Wenn die Größe nicht geändert wird, wird das Skript nicht ausgeführt. – user2896120
Ja, es muss zunächst ausgeführt werden. Der Code, den ich zur Verfügung gestellt habe, ist auf die Größenänderung zu überprüfen. Ich beantworte diesen Teil Ihrer Frage "Wie kann ich es so machen, dass, wenn der Benutzer von <= 750px to > 750px die Größe ändert, sie die Seite nicht aktualisieren müssen, damit das Skript ordnungsgemäß funktioniert?" –
Wie mache ich es so, dass es anfänglich läuft? Ich habe '$ (document) .ready' versucht und einige if/else Anweisungen dort eingefügt, aber es scheint wie es funktioniert nur, wenn Sie die Seite aktualisieren – user2896120