PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Javascript » jQuery et IE9 » 02-10-2013 14:37:50

Ok, merci wink modification hide() faites et je n'ai plus l'apparition du bouton cette petite seconde !
Si non quel version de jQuery et jQuery Ui préconisez vous ?
Si non, pour le code et vu que vous n'apportez plus d'observation supplémentaire, je passerais le poste en résolu, je reviendrais sur cette fonction plus tard car je compte lui ajouter une navigation par les ancres (ex: href="#monLien") mais avant, je voudrais revoir et mettre en ordre tous ce que j'ai déjà fait et vous montrer d'autre choses si je ne vous prend pas trop de temps ?

#2 Re : Javascript » jQuery et IE9 » 02-10-2013 14:37:50

Bien en fait, non, impossible de mettre en place la solution que vous m'avez donné hmm
En revanche vos information m'on fait réfléchir autrement, plutot que de vérifier sa présence, je l'ai ajouter d'office puis je le masque...

<script>
        $(document).ready(function() {

            var id = "backtotop";
            $('body').append('<div id="toTop">' + '<a href="#" id="' + id + '">toTop</a>' + '</div>');
            $('#toTop').fadeOut();

            $(window).scroll(function() {
                if ($(window).scrollTop() === 0) {
                    $('#toTop').fadeOut('8000');
                } else {
                    $('#toTop').fadeIn('8000');
                }
            });

            $(function() {
                $('#' + id).click(function(e) {
                    e.preventDefault();
                    $('html, body').animate({scrollTop: '0px'}, 1300);
                });
            });
        });
    </script>

Cette solution fonctionne comme je le veux a une chose près, le bouton apparaît 1 petite seconde au chargement puis disparaît...
Je continue les recherches smile

#3 Re : Javascript » jQuery et IE9 » 02-10-2013 14:37:50

Ok, un grand merci, je pense maintenant comprendre ce que je ne comprenais pas, effectivement, au 1er chargement et si j'utilise la fonction append(), le div toTop n'existe pas et comme vous dites, le programme ne s'effectue peut être pas complètement...

Je commence mes test dés maintenant smile
EDIT:

Jc a écrit :

Le fait que la page s'actualise est-ce un comportement attendu/normal?

Non, je ne veux pas l'actualiser mais qu'elle remonte calmement car en cas de scroll, j'ai aussi mon menu qui passe en position relative (css) pour suivre le défilement de la page et je veux qu'en cas de clic sur toTop tous reprenne sa place calmement histoire de rendre un comportement agréable et fluide...

#4 Re : Javascript » jQuery et IE9 » 02-10-2013 14:37:50

En ce qui concerne le dernier code,j'ajoute que si je fais l'inverse, a savoir commenter la fonction append() et dé-commenter la div en dur dans le html, la ça fonctionne correctement:

<!DOCTYPE html>
<head>
    <style>
        #toTop a { position: fixed; text-decoration: none; right: 10px; bottom: 10px; background-color: #f25126; padding: 7px 10px; color: #181818; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; border: 1px solid #000; }

        #toTop a:hover { -webkit-box-shadow: 0px 0px 5px #222222; -moz-box-shadow: 0px 0px 5px #222222; box-shadow: 0px 0px 5px #222222; color: #b1b1b1; }

    </style>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <script>
        $(document).ready(function() {

            $('#toTop').fadeOut();

            var classe = "backtotop";

            $(window).scroll(function() {
                if ($(window).scrollTop() === 0) {
                    $('#toTop').fadeOut('8000');
                } else {
                    if ($('#toTop').length === 0) {
                        // $('body').append('<div id="toTop">'
                        //        + '<a href="#top" class="'
                        //        + classe
                        //        + '">toTop</a>'
                        //        + '</div>');
                    }
                    $('#toTop').fadeIn('8000');
                }
            });

            $(function() {
                $('.' + classe).click(function(e) {
                    e.preventDefault();
                    $('html, body').animate({scrollTop: '0px'}, 1300);
                });
            });
        });
    </script>
</head>

<body>
    <a name="top"></a>
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <div id="toTop"><a href="#top" class="backtotop">toTop</a></div>
</body>
</html>

Désolé de ne pas voir la subtilité qui existe entre les 2 tests, pourtant je cherche !!!

#5 Re : Javascript » jQuery et IE9 » 02-10-2013 14:37:50

Salut,
alors en fait, je ne suis pas sur d'avoir compris mes erreurs...

Jc a écrit :

A partir de là, en faisant un $('body').append vous ne risquez pas de voir grand chose à l'écran vu que vous rajoutez du code html à la fin de votre balise <body> (donc juste avant la balise de fermeture </body> qui se trouve en dehors de votre écran)

La je ne comprend pas car en fait, j'ai effectivement cette div qui apparaît juste avant </body> mais j'ai un css qui la positionne et je la vois bien apparaitre (fadin et fadout fonctionne correctement):

#toTop a{
    position: fixed;
    text-decoration: none;
    right: 10px;
    bottom: 10px;
    background-color: $couleur;
    padding: 7px 10px;
    color: $dark;
    @include border-radius(5px);
    border: 1px solid #000;
}
#toTop a:hover{
    @include box-shadow(0px 0px 5px #222);
    color: $light;
}

La je ne comprend pas non plus:

Jc a écrit :

Ensuite, IE, et à juste titre, supporte mal la redondance de balises identiques ayant le même id lorsque il est question d'y appliquer un traitement particulier (fade,tooltip,etc...) car il va être incapable de savoir lequel est la cible de votre code (même si certains navigateurs utilisent par défaut la première balise rencontrée dans le DOM. Il est donc nécessaire que vous complétiez votre code pour vous assurer qu'en toutes circonstances, vous n'ayez qu'une seule balise <div id="to_top"> dans votre DOM.

Car je n'ais pas le sentiment d'avoir plusieurs <div id="to_top"> car:
- soit je laisse la fonction l'ajouter cette div au sein du html, ca fonctionne pour l'affichage mais la page s'actualise au lieu de remonter...
- soit je ne laisse pas la fonction l'ajouter et je l'ajoute moi même en dur et la tous fonctionne...

La fonction: lenght "if ($('#toTop').length === 0)", n'est elle pas censé vérifier l’absence de div toTop avant de l'ajouter ?

Voici mon code simplifié mais sans modifs:

<!DOCTYPE html>
<head>
    <style>
        #toTop a { position: fixed; text-decoration: none; right: 10px; bottom: 10px; background-color: #f25126; padding: 7px 10px; color: #181818; -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; border: 1px solid #000; }

        #toTop a:hover { -webkit-box-shadow: 0px 0px 5px #222222; -moz-box-shadow: 0px 0px 5px #222222; box-shadow: 0px 0px 5px #222222; color: #b1b1b1; }

    </style>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <script>
        $(document).ready(function() {

            $('#toTop').fadeOut();

            var classe = "backtotop";

            $(window).scroll(function() {
                if ($(window).scrollTop() === 0) {
                    $('#toTop').fadeOut('8000');
                } else {
                    if ($('#toTop').length === 0) {
                         $('body').append('<div id="toTop">'
                                + '<a href="#top" class="'
                                + classe
                                + '">toTop</a>'
                                + '</div>');
                    }
                    $('#toTop').fadeIn('8000');
                }
            });

            $(function() {
                $('.' + classe).click(function(e) {
                    e.preventDefault();
                    $('html, body').animate({scrollTop: '0px'}, 1300);
                });
            });
        });
    </script>
</head>

<body>
    <a name="top"></a>
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <hr />
    <!-- <div id="toTop"><a href="#top" class="backtotop">toTop</a></div> -->
</body>
</html>
 

La dernière div est commenté, c'est donc bien la fonction qui ajoute la div toTop et en théorie il me semble je ne peut absolument pas avoir 2 div toTop, non ?

#6 Re : Javascript » jQuery et IE9 » 02-10-2013 14:37:50

Bon et malgré le fait que d'autre ont le même soucis, c'est peut être chez moi que ça na va pas...
Exemple, avec ce code:


$('#toTop').fadeOut();

var classe = "backtotop";

$(window).scroll(function() {
    if ($(window).scrollTop() === 0) {
        $('#toTop').fadeOut('8000');
    } else {
        if ($('#toTop').length === 0) {
            //$('body').append('<div id="toTop">'
            //                + '<a href="#top" class="'
            //                + classe
            //                + '"><i class="icon-arrow-up"></i></a>'
            //                + '</div>');
        }
        $('#toTop').fadeIn('8000');
    }
});


$(document).ready(function() {
    $(function() {
        $('.' + classe).click(function(e) {
            e.preventDefault();
            $('html, body').animate({scrollTop: '0px'}, 1300);
        });
    });
});
 

SI j'inscrit en dur dans le HTML, tous va bien: <div id="toTop"><a href="#top" class="backtotop"><i class="icon-arrow-up"></i></a></div>
En revanche si je laisse la fonction append afficher cette div alors ca ne va plus, la page ne fait que s'actualiser...

#7 Re : Javascript » jQuery et IE9 » 02-10-2013 14:37:50

Bonjour, bien en fait, je test les différents versions d'IE avec IE-tester mais j'ai le sentiment que c'est lui qui bug, je viens de faire un test en ligne et le résultats n'est pas le même mais le rendu est une capture d'écrans et je ne suis sur de rien...
Par contre sur les tests en ligne, c'est avec la version IE8 qu'il y a un soucis...
Je comprend rien avec ce navigateur !

#8 Javascript » jQuery et IE9 » 02-10-2013 14:37:50

steeve
Réponses : 14

Salut a tous, je cherche la solution mais en vain pour faire fonctionner jQuery sous IE9, je n'ais pas de soucis avec les version 7, 8 et 10...
J'ai bien vu que beaucoup de gens on le même soucis mais aucune des solutions données ne règle mon problème...
Connaissez vous l'origine de ce dysfonctionnement ?

#9 Re : Javascript » Bonnes pratiques jQuery » 28-03-2015 08:06:38

Ok, je comprend le temps du calcul !!!

Pour les images, il n'est pas nécessaire d'utiliser le code js, si en cas de besoin l'image doit changer d'url, il suffit de l'écrire comme ça: <img src="" data-nom="resolution.png" class="hidden" alt=""/> et dans ce cas elle est prise en compte, je signale que je compte changer cette façon d'appeler l'image au moyen d'une autre balise mais je ne sais pas encore la quel...

Pour les reste hé bien je vais réfléchir a tous ça, et dés que j'aurais réussi a faire fonctionner jQuery sur IE9 pourtant ca fonctionne avec IE7, IE8, IE10 hmm, il ne me restera que quelques réglages et faire des test et je pourrais vous le faire tester si vous le souhaitez...

#10 Re : Javascript » Bonnes pratiques jQuery » 28-03-2015 08:06:38

Il est vrai que mon expérience mobile est un peut juste ainsi que celle de jquery mais bon, c'est un peut mon exercice pour apprendre...
Pour ce qui est des perfs, en effet il est possible qu'il faille changer des choses et je ferais des tests bien entendu...

L'idée principale n'est pas forcement l'environnement mobiles mais plutôt de ne pas charger ce qui ne convient pas a la résolution d'affichage(images, css...) les images, par exemple ne sont chargé qu’après jquery pour être sur de la prendre dans le dossier correspondant a la résolution en cours...

La partie desktop n'est en fait plus utilisé, c'est devenu le css principale "style.css" qui lui est afficher pour toutes les résolutions, j'ai quand même garder les fichiers et la fonction js intacte au cas ou je revienne en arrière plus tard...

Par contre je ne comprend pas gourmand en calcul, je ne dis pas que vous vous trompez, vraiment je ne comprend pas ?

#12 Re : Javascript » Bonnes pratiques jQuery » 28-03-2015 08:06:38

Ah, je vous ais mal compris, mais aussi expliquer simplement...
Par serveur, j'avais compris serveur en ligne... Bien entendu qu'il fait compiler, je travail avec wamp et je compile avec l'invite de commandes...

pour ce qui est de la grille, elle est de 16 colonnes et 15 marges de 2%:
100 - (15 * 2%) = 30 reste 70
70 / 16 = 4.375 %
voici la mixin:


@mixin bloc-colonnes($couleurFond, $colonne, $fin: non){
    background: $couleurFond;
    display: inline;
    float: left;
    width: $colonne * 4.375% + (($colonne * 2%) - 2%);
    @if $fin == "fin"{
        margin: 0;
    }
    @else{
        margin: 0 2% 0 0;
    }
}
 

Pour ce qui est de la structure, une capture s'impose: http://i70.servimg.com/u/f70/13/05/90/60/captur10.png
le dossier éléments n'est pas ouvert car trop grand pour voir le haut et le bas mais il contient des fichiers dédié a une série de règles css comme le menu, les alertes, le tooltype et d'autre encore...

Voila, espérant combler ta curiosité, je suis ouvert a toutes critiques ou erreurs ca va de soit !

#13 Re : Javascript » Bonnes pratiques jQuery » 28-03-2015 08:06:38

Bon, quand je dis framework, c'est en fait un mot plus gros que celui que j'aurais du employer...
C'est en faite une base de départ html et css plus un peut de js
- Un  reset + une base css
- Une grille de 16 colonnes en %
- Un dossier scss très structuré
- Certaines fonctions js comme modifier certaines url(media, css, img, video...), aligner des colonnes a la même taille avec une classe, un menu adaptatif et quelque autres trucs qu'ils n'est pas nécessaire de modifier d'un site a l'autre...
En revanche, d'un site a l'autre, il faut pouvoir toucher aux css et c'est dans ce sens que je ne souhaite pas y revenir...

En ce qui concerne compass, il n'est pas prévu de l'installer sur le serveur, il ne me sert qu'a sur-structurer les classes css comme celle du menu, des alertes, du contenu ou header dans plusieurs dossiers avec une hiérarchie qui me convient... Ce système me permet aussi de générer plusieurs fichiers css qui sont utilisés avec js en fonction des besoins...

Si non, pour ce qui est du but, bien c'est le plaisir de créer une base qui me convienne et honnêtement l’intérêt général n'est absolument pas la distribution ou peut être un jour, sais t'on jamais !!!

Si autre chose, je ne peux plus me passer des mixins qui me permette de rendre mon html un peut agréable a lire tout en limitant le nombre de règles css a écrire...

Voila en gros, pour finir, je cherche a réer une base de classe css et fonction js utilisable sur de nombreux sites en limitant les modifs a quelques paramétrage comme les font, color, size contenu dans un fichier variable

merci de votre intérêt.

#14 Javascript » Bonnes pratiques jQuery » 28-03-2015 08:06:38

steeve
Réponses : 10

Bonjour a tous !!!
Ça fait bien longtemps que je ne suis pas revenu sur ce forum mais c'est avec plaisir que je le retrouve aujourd’hui, je me souvient que les blagues étaient régulière et l'humeur très bonne, je souhaite que cela n'ai pas changé big_smile

Si non, depuis un bon moment déjà je bricole un framework 100% adaptatif.
J'utilise compass pour la gestion des css. Dans ce dossier compass j'ai un fichier de variables permettant de centraliser de nombreux réglage (jusque la tous va bien).
Les parties HTML et CSS sont déjà bien avancés et j'en arrive maintenant j'en arrive a l'intégration de jQuery dans le but de modifier certains comportement en fonction de la résolution.

J'ai une fonction qui permet du jouer avec les url (la aussi tous va bien), a part quelques paramétrages comme le chemin du dossier css et le choix des devive, ça va l'entretient est la mise en place sont limités...
En revanche, pour le menu (qui s'adapte aussi) la j'ai des soucis de choix sur l'utilisation de jQuery, le menu fonctionne très bien mais je me pose des questions.

Comme je l'ai dis au début, j'ai un fichier de variable ou je peux jouer avec certaines propriétés CSS "MAIS" jQuery m'offre tellement de possibilités que que je dérègle un peut mon principe de simplicité d'administration...
J'ai l'impression qu'il est plus simple dans mon cas d'utiliser: $('#' + id).addClass() que $('#' + id).css() qui me permet de jouer avec mon fichier CSS plutôt qu'avec le fichier JS auquel je ne voudrais plus toucher !

Voici donc ma question, y a t'il ou connaissez-vous des règles ou bonne pratiques de ce genre ?
Je suis preneur de tous conseils ou techniques smile

Merci d'avance, a plus.

#15 Re : Forum Général PHP » générer un id de compteur dynamiquement » 03-10-2011 19:51:53

c'est bon, problème résolu:

<?php echo rating_bar($dnn['ref'].'2','10'); ?>

#16 Forum Général PHP » générer un id de compteur dynamiquement » 03-10-2011 19:51:53

steeve
Réponses : 1

salut a tous,

j'ai un petit système de vote qui fonctionne bien mais je voudrais générer dynamiquement les ID des compteurs a chaque fois que je créer un nouveau produit...

voici le code qui affiche le résultat et il permet aussi de voter.
le premier fonctionne mais l'ID "ref_2" (référence produit + id de la question) est écrite sur la page.

    <tr>
        <td><h4>Produit_1</h4></td>
        <td style="border:2px solid #9d8561"> -> question aux visiteurs ? <?php echo rating_bar('ref-2','10'); ?></td>               
    </tr>           

sur celui la, j'arrive a mettre le ref du produit mais pas l'ID de la question qui elle doit rester la même pour tout les produits...


        <tr>
        <td><h4>Produit_1</h4></td>
        <td style="border:2px solid #9d8561"> -> question aux visiteurs ? <?php echo rating_bar($dnn['ref'],'10'); ?</td>               
     </tr>                                                                              
   
merci d'avance, steeve

#17 Re : HTML, xHTML CSS » tout sur la commande div » 02-11-2011 18:18:53

<div ...="...">...</div>

http://pbnaigeon.developpez.com/tutorie … -page-CSS/

une petite question si tu ne sais pas utilisé div, comment fait tu pour le reste ?

#18 Re : MySQL, PostgreSQL, etc... » Editeur SQL et Php » 05-09-2011 12:19:45

salut, j'ai découvert ya pas longtemps: html kit qui prend en compte tout un tas de langage et surtout il y a plein de plugin a ajouter...

#19 Re : Forum Général PHP » vérification d'emails » 02-09-2011 18:40:43

salut pierrot et merci...
j'ai trouver comment vérifier l'existEnce  d'un mail mais moi je voudrais vérifier un fichier complet en une seul fois et sans payer si possible et ce n'es pas un a l'inscription que je veux vérifier mais c'est ce que j'ai déjà, un fichier .txt

si ça existe: peux tu me dire ou ?:P

#20 Forum Général PHP » vérification d'emails » 02-09-2011 18:40:43

steeve
Réponses : 2

salut a tous:
j'ai un site qui a environ 2 ans et au fil du temps, des adresse mail se sont inscrit a la news mais je n'avais jamais rien envoyer.
cette semaine je me suis enfin décidé avec wana-newsletter via un serveur OVH le soucis est que depuis le temps, certaine des ces adresses n’étaient plus bonne, apparemment plus de 5% sur un peut plus de 200 du coup OVH a bloqué...

ma question: y a t'il un script ou quelque chose du genre pour vérifié leurs validité avant de poster ? si non comment faire ?

merci a tous, a plus steeve.

#21 Re : Forum Général PHP » erreur avec module paiement atos » 12-08-2011 22:11:41

pour un test, j'avais mis un produit a 0.10 euro et après environ de 100 essaies il me semble que ce ne marche que si le  chiffre avant la virgule est >0... a 1.00 euro et plus tout marche bien.
merci Maljuna Kris, a plus.

#22 Re : Forum Général PHP » erreur avec module paiement atos » 12-08-2011 22:11:41

après de nombreuse recherches, j'ai l'impression que l'erreur est quand il y a un montant avec des chiffres après la virgule: 10,33 par exemple.
est-ce possible d’après vous ?

#23 Forum Général PHP » erreur avec module paiement atos » 12-08-2011 22:11:41

steeve
Réponses : 3

salut a tous,
après un back-up d'une boutique sous la solution thelia et au moment d'effectuer le paiement avec atos, je trouve cette erreur:
Error in call parameters structure (invalid amount length (10))
quelqu'un pourrait'il m'aider a comprendre...

#24 Re : Javascript » javascript et IE » 11-09-2011 21:25:59

oui j'utilise jquery mais j'essaye tout pour voir comment c'est construit, écris, indenté et désormais je voudrais trouver une solution a ce problème car des fois je me passe de certaines choses et c'est dommage...

si j'ai bien compris c'est un problème de css ?

#25 Javascript » javascript et IE » 11-09-2011 21:25:59

steeve
Réponses : 10

salut a tous, ya un truc que je ne comprend pas:
comment faire ou dans quel direction chercher pour qu'un menu qui utilise javascript fonctionne correctement sur IE.
des fois ça marche et des fois non, j'aimerais bien comprendre pourquoi.

merci d'avance, a plus steeve.

Pied de page des forums

Propulsé par FluxBB