Afficher/masquer une image lors d'un scroll

Résolu
Dave17000 - 16 mars 2013 à 01:12
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 - 18 mars 2013 à 12:18
Bonjour,
J'ai développer un petit code javascript pour que lorsque on descend dans la page, une image apparaisse.
Ce script fonctionne tres bien sur Chrome et Safari, mais ni sur Firefox ni sur IE9, et j'avoue ne pas comprendre pourquoi...
Quelqu'un aurait il une idée?
Voici le code
$(document).ready(function(){
   $(window).scroll(function(){
    if($("body").scrollTop() > 130)
   $("#image").css('visibility', 'visible').fadeIn(300);
    else
   $("#image").css('visibility', 'hidden').fadeOut(100);
  });
});

Merci d'avance
A voir également:

7 réponses

Bon, et bien j'ai résolu mon probleme de facon "différente"...
Au cas ou ca aiderais quelqu'un, voici la "solution" (je ne sais pas si c'est la bonne, mais en attendant, ca fonctionne!)
$(function(){
var scroll = document.body.scrollTop&&document.documentElement;
    $(document).scroll(function() {
      if($('html').scrollTop() > 130 || $('body').scrollTop() > 130)
   $("#image").css('visibility', 'visible').fadeIn(300);
    else
   $("#image").css('visibility', 'hidden').fadeOut(100);
    });
});

Voila, merci à tous, car malgré tout, ca m'as donné quelques pistes à suivre
3
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
16 mars 2013 à 17:14
bonjour afin que le scroll soit reconu il faut se referencer au document.documentElement pour ie et ff et document.body pour chrome et safari c'est pour cette raison que sa ne marche pas avec ie et ff
0
Merci pour cette info Kazma, mais étant une vrai buse en JS, j'avoue que je ne sais absolument pas comment placer ce bout de code dans mon script... j'ai bien essayer, mais étant trop novice, je ne trouve pas.
Un peu d'aide sur ce coup la me serait bien utile, je dois avouer!

Merci d'avance!
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
17 mars 2013 à 15:39
je ne connais que peut jquery mais essais tout de meme comme ceci j'ai juste rajouter une condition

$(document).ready(function(){
   $(window).scroll(function(){
    if($("body").scrollTop() > 130 || $("documentElement").scrollTop() > 130)
   $("#image").css('visibility', 'visible').fadeIn(300);
    else
   $("#image").css('visibility', 'hidden').fadeOut(100);
  });
});
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ah, j'ai répondu trop vite je vois... Merci Kazma, je vais quand même essayer ta solution juste pour voir la "différence"...
0
Alors, j'ai tenté la solution de Kazma, et ca ne fonctionne pas... par contre, "html" et "body" dans les conditions, fonctionne...
Par contre, j'ai, dans mon code, ajouter une ligne "var" (ligne 2) qui ne sert absolument à rien (je tenais a le souligner quand même)
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
18 mars 2013 à 12:18
document.documentElement correspond au document html et apparemment jquery ne reconnais pas la syntaxe documentElement mais bon sa fonctionne et c'est l'essentiel
0
Rejoignez-nous