Ich habe einen Heldenabschnitt, der ein Hintergrundbild hat. Ich möchte einen Parallax-Effekt erstellen, indem ich die background-position
Eigenschaft auf Scroll bearbeiten. Ich habe eine JavaScript-Datei, die unten:dynamische CSS-Eigenschaften mit jQuery (auf Bildlauf)
$(document).ready(function() {
$(window).on('scroll', function() {
// Parallax effect
parallax.effect(); // TODO: rename this function
});
});
// Global variables
var currentWindowPos = $(window).scrollTop();
var parallax = {
// Variables
element: $('.hero.hero-bg'),
bgPosition: 0,
// Functions
effect: function() {
$(parallax.element).css({
'background-position': '0 -' + parseInt(360 + (currentWindowPos * .025)) + 'px'
});
}
};
ich andere dynamische Effekte wie das Hinzufügen von Klassen zu der Navigationsleiste entfernt, sobald die Seite über einen bestimmten Punkt gescrollt wurde. Ich kann in Chrome sehen, dass das Element die dynamische background-position
Eigenschaft erhält, aber das Bild scheint nichts zu tun.
In Chrome, wenn ich manuell in Developer Tools gehen und die background-position
Eigenschaft hinzufügen und meine Pfeiltasten verwenden, um den Wert im Textfeld zu erhöhen oder zu verringern, kann ich das Bild nach oben und unten/links oder rechts bewegen.
auch in Chrome, wenn ich untick die CSS-Eigenschaft im element.style
Abschnitt versuchen, es nicht einen Streik durch, genau wie andere Eigenschaften erhalten, wenn sie deaktiviert sind. Siehe unten.
Könnte jemand erklären, warum dieses Problem auftritt, und jemand die Lösung bieten könnte?
Hier ist ein JSFiddle für die Person in den Kommentaren.
Vielen Dank im Voraus.
können Sie bitte teilen Sie Ihre jsfiddle oder Code, um das Problem im Detail zu kennen? – JSnewbie
Bearbeitet. Bitte sehen Sie sich die aktualisierte Frage an. –
ok jetzt was willst du ?? willst du Hintergrundbild für das ganze div ?? – JSnewbie