11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
je souhaiterais votre aide si possible.
j'ai un ptit script qui marche sur Firefox, chrome mais ne marche pas sous toute les version de ie(ca ne m’étonne pas d'ailleurs)
ce sript déplace une image celant le déplacement du scroll.
j'ai un message d'erreur de script javascript mais aucun détail n'et fourni par le navigateur ie
voila le code:
<SCRIPT LANGUAGE="JAVASCRIPT"> 
$(function() {
                        var offset = $("#sidebar").position();
                        var topPadding =20;
                        $(window).scroll(function() {
                             //console.log($('body').scrollTop());
                            if ($(window).scrollTop() > 414) {
                                $("#sidebar").stop().animate({
                                    marginTop: ((window.innerHeight - 141)/2) + $('body').scrollTop()-topPadding
                                },800);
                            } else {
                                $("#sidebar").stop().animate({
                                      marginTop: 340
                                  
                                },800);
                            };
                        });
                    });
</SCRIPT>


merci pour vos réponse
Modifié par timo (02 Nov 2010 - 23:18)
Modérateur
Et l'eau,

Sans le code html et voir le css, pas facile de lire et voir ton bogue...
il y a pas de css,
voila l'exemple en entier



<html>
<head><title></title>
  <script type="text/javascript" src="jquery.js"></script>
<SCRIPT LANGUAGE="JAVASCRIPT"> 
$(function() {
                        var offset = $("#sidebar").position();
                        var topPadding =20;
                        $(window).scroll(function() {
                             //console.log($('body').scrollTop());
                            if ($(window).scrollTop() > 414) {
                                $("#sidebar").stop().animate({
                                    marginTop: ((window.innerHeight - 141)/2) + $('body').scrollTop()-topPadding
                                },800);
                            } else {
                                $("#sidebar").stop().animate({
                                      marginTop: 340
                                  
                                },800);
                            };
                        });
                    });
</SCRIPT> 
</head>


<body>

<div id="sidebar">
<img src="g.png" />
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br />
njkhgghg
<br /><br />
hjhggg
</body>

<html>
Modérateur
Ca lu,

J'ai testé ton script et chez moi, ça bug aussi (FF 3.6.1). A quoi sert ton script ?

@plus
Et le position:fixed en CSS ne fait pas la même chose?

Par ailleurs:
- Page sans doctype: pas bien. Smiley cligne (Même pour une page de test, ça compte.)
- Code HTML pas valide: pas bien non plus.
Modifié par Florent V. (02 Nov 2010 - 13:43)
la position fixed n'est la solution que je voulais au d"placement de mon image
mais j'ai résolu lepb,
o faite ie na pa les meme mesure du innerheight que firefoxe
donc j'ai remplacer window.innerheight par document.body.offsetHeight
qui est du jquery et reconnu par tout les navigateur.
merci pour votre aide