Essayer de faire fonctionner ce script ce site :
var t = $('#preschool-program').offset().top - 120;
jQuery(document).scroll(function(){
if($(this).scrollTop() > t) {
$('body.index header').css({"background-color":"rgba(0,0,0,1)"});
}
});
Si vous faites défiler l'écran presque à l'écran vers le bas, l'en-tête de l'arrière-plan doit devenir opaque au lieu de rester semi-transparent. Donc, je ne suis pas sûr de savoir pourquoi cela ne fonctionne pas. N'importe qui?
Il y a plusieurs erreurs dans votre script et CSS, je ne sais pas par où commencer ...
$
Et jQuery
dans votre code. Joomla charge jQuery en mode noConflict, il vaut donc mieux utiliser jQuery
La variable t
ne peut pas être définie car elle s'exécute avant que le DOM ne soit prêt. Assurez-vous d'attendre que le DOM soit prêt:
jQuery(function(){
var t = jQuery('#preschool-program').offset().top - 120;
});
La deuxième partie devrait ressembler à ceci:
jQuery(document).scroll(function(){
if(jQuery(this).scrollTop() > t) {
jQuery('body.index header').css({"background-color":"rgba(0,0,0,1)"});
}
});
Cela fonctionne fondamentalement (le style est ajouté à l'élément d'en-tête), mais le fichier http://nettra.net/demo-sites/wvg/development/templates/wvgs/css/bootstrap.css
Définit le fond de l'en-tête en utilisant background: rgba(0,0,0,0.5)!important;
vers la ligne # 10983, redéfinir votre style en ligne. Si vous supprimez !important
Et apportez les modifications ci-dessus, cela devrait fonctionner.
Juste un ajout à la réponse de @ Johanpw.
jQuery a quelques problèmes avec l'attribut !important
lors de l'utilisation de .css()
, que vous devrez utiliser comme Bootstrap l'utilise.
Voici 2 alternatives que vous pouvez utiliser.
Vous pouvez appliquer votre style en utilisant la fonction .style
:
$('body.index header').attr('style', 'background-color: rgba(0,0,0,1) !important');
Vous pouvez également ajouter une classe utilisant jQuery et cibler cette classe à l'aide de CSS, ce qui est beaucoup plus rapide que d'appliquer le style via jQuery lui-même.
jQuery:
$('body.index header').addClass('customBG');
CSS:
.customBG {
background-color: rgba(0,0,0,1) !important;
}
jQuery(document).ready(function ($) {
var t = $('#preschool-program').offset().top - 120;
$(document).scroll(function () {
if ($(this).scrollTop() > 0){
$('body.index header').attr('style', 'background-color: red !important');
}
});
});