Visualizzazione risultati 1 fino 5 di 5

Discussione: Risolvere conflitto fra due script jQuery [era: jQUERY HELP ME]

  1. #1
    zeropescadale non è connesso Neofita
    Data registrazione
    10-09-2020
    Messaggi
    4

    Question Risolvere conflitto fra due script jQuery [era: jQUERY HELP ME]

    Buonasera a tutti,
    premettendo che sono assolutamente neofita di jquery mi sorge un problema in uno script...
    in poche parole ho due javascript che vengono chiamati da due elementi differenti della mia pagina, nello specifico il primo serve per inserire nella pagina stessa un text-area wysihtml5, l'altro invece mi serve per inserire dei grafici...
    Il problema?

    non riesco a farli andare contemporaneamente, l'uno mi esclude l'altro.
    Credo sia un problema sul nome delle funzioni usate dato che mi sembrano uguali (premetto che entrambi gli script non li ho creati io ma provengono da un template, sono nativi su pagine diverse e su quello funzionano. sulla mia pagina se inseriti singolarmente non danno problemi.)

    vi posto di seguito il mio codice

    Codice per il TEXTAREA
    Codice:
    <script type="text/javascript">
          $(function () {
            // Replace the <textarea id="editor1"> with a CKEditor
            // instance, using default configuration.
            CKEDITOR.replace('editor1');
            //bootstrap WYSIHTML5 - text editor
            $(".textarea").wysihtml5();
          });
        </script>
    codice per i grafici:
    Codice:
        <script type="text/javascript">
    
    
          $(function () {
            "use strict";
    
            // AREA CHART
            var area = new Morris.Area({
              element: 'revenue-chart',
              resize: true,
              data: [
                {y: '2011 Q1', item1: 2666, item2: 12666},
                {y: '2011 Q2', item1: 2778, item2: 2294},
                {y: '2011 Q3', item1: 4912, item2: 1969},
                {y: '2011 Q4', item1: 3767, item2: 3597},
                {y: '2012 Q1', item1: 6810, item2: 1914},
                {y: '2012 Q2', item1: 5670, item2: 4293},
                {y: '2012 Q3', item1: 4820, item2: 3795},
                {y: '2012 Q4', item1: 15073, item2: 5967},
                {y: '2013 Q1', item1: 10687, item2: 4460},
                {y: '2013 Q2', item1: 8432, item2: 5713}
              ],
              xkey: 'y',
              ykeys: ['item1', 'item2'],
              labels: ['Item 1', 'Item 2'],
              lineColors: ['#a0d0e0', '#3c8dbc'],
              hideHover: 'auto'
            });
    
            <?php 
                $data_periodo=date('Y')."-01";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_gennaio = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-02";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_febbraio = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-03";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_marzo = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-04";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_aprile = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-05";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_maggio = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-06";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_giugno = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-07";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_luglio = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-08";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_agosto = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-09";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_settembre = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-10";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_ottobre = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-11";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_novembre = $result_periodo->fetch_object()->c;
    
                $data_periodo=date('Y')."-12";
                $query_periodo="SELECT COUNT(*) as 'c' FROM visualizzazioni_prodotti WHERE anno_mese='".$data_periodo."' && id_prodotto='".$id_prodotto."'";
                $result_periodo = $mysqli->query($query_periodo);
                $risultato_dicembre = $result_periodo->fetch_object()->c;
    
    
    
                $gennaio = "y: '".date('Y')."-01', b: '".$risultato_gennaio."'";
                $febbraio = "y: '".date('Y')."-02', b: '".$risultato_febbraio."'";
                $marzo = "y: '".date('Y')."-03', b: '".$risultato_marzo."'";
                $aprile = "y: '".date('Y')."-04', b: '".$risultato_aprile."'";
                $maggio = "y: '".date('Y')."-05', b: '".$risultato_maggio."'";
                $giugno = "y: '".date('Y')."-06', b: '".$risultato_giugno."'";
                $luglio = "y: '".date('Y')."-07', b: '".$risultato_luglio."'";
                $agosto = "y: '".date('Y')."-08', b: '".$risultato_agosto."'";
                $settembre = "y: '".date('Y')."-09', b: '".$risultato_settembre."'";
                $ottobre = "y: '".date('Y')."-10', b: '".$risultato_ottobre."'";
                $novembre = "y: '".date('Y')."-11', b: '".$risultato_novembre."'";
                $dicembre = "y: '".date('Y')."-12', b: '".$risultato_dicembre."'";
            ?>
    
    
            // LINE CHART ANNO
            var line = new Morris.Line({
              element: 'line-chart-anno',
              resize: true,
              data: [
                { <?php echo $gennaio?>},
                { <?php echo $febbraio?>},
                { <?php echo $marzo?>},
                { <?php echo $aprile?>},
                { <?php echo $maggio?>},
                { <?php echo $giugno?>},
                { <?php echo $luglio?>},
                { <?php echo $agosto?>},
                { <?php echo $settembre?>},
                { <?php echo $ottobre?>},
                { <?php echo $novembre?>},
                { <?php echo $dicembre?>}
              ],
                xkey: 'y',
                ykeys: ['b'],
                xLabels: 'month',
                labels: ['Visualizzazioni'],
                fillOpacity: 0.6,
                hideHover: 'auto',
                behaveLikeLine: true,
                resize: true,
                pointFillColors:['#ffffff'],
                pointStrokeColors: ['black'],
                lineColors:['red']
            });
            });
    
    
        </script>

    Spero di sappiate aiutare

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,997

    Predefinito

    Salve,
    può riportare il link della pagina dove usa quel codice, o uno di una pagia di prova?
    Così sarebbe più facile capire il comportamento errato.

    Cordiali saluti.

  3. #3
    zeropescadale non è connesso Neofita
    Data registrazione
    10-09-2020
    Messaggi
    4

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Salve,
    può riportare il link della pagina dove usa quel codice, o uno di una pagia di prova?
    Così sarebbe più facile capire il comportamento errato.

    Cordiali saluti.

    Pagina con "textarea" funzionante ma con grafici saltati: http://zeropescadale.altervista.org/...id_prodotto=29
    Pagina con "Textarea" non funzionante ma con grafici ok: http://zeropescadale.altervista.org/...id_prodotto=29

  4. #4
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,997

    Predefinito

    Nella seconda pagina dove viene visalizzata male la textarea, ho visto che manca questo:
    Codice HTML:
        <script type="text/javascript">
          $(document).ready(function test() {
            // Replace the <textarea id="editor1"> with a CKEditor
            // instance, using default configuration.
            CKEDITOR.replace('editor1');
            //bootstrap WYSIHTML5 - text editor
            $(".textarea").wysihtml5();
          });
        </script>
    Questo cidice, che poi è uno dei due che lei ha esposto, serve per visualizzare l'editor nelle textarea, quindi è normale che senza non funzioni corettamente. Immagino che l'abbia omesso volutamente permostrare la condizione.

    Comunque ho visto che carica 2 volte jQuery in 2 versioni differenti, jQuery 2.1.3 e jQuery v3.3.1. Questo può creare conflitti e mal funzionamenti. Le consiglio di usare quella più recente.

    Inoltre, la libreria jQuery è sempre meglio caricarla prima di tutte le altre librerie js che ne fanno uso.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 12-09-2020 alle ore 21.17.39

  5. #5
    zeropescadale non è connesso Neofita
    Data registrazione
    10-09-2020
    Messaggi
    4

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Nella seconda pagina dove viene visalizzata male la textarea, ho visto che manca questo:
    Codice HTML:
        <script type="text/javascript">
          $(document).ready(function test() {
            // Replace the <textarea id="editor1"> with a CKEditor
            // instance, using default configuration.
            CKEDITOR.replace('editor1');
            //bootstrap WYSIHTML5 - text editor
            $(".textarea").wysihtml5();
          });
        </script>
    Questo cidice, che poi è uno dei due che lei ha esposto, serve per visualizzare l'editor nelle textarea, quindi è normale che senza non funzioni corettamente. Immagino che l'abbia omesso volutamente permostrare la condizione.

    Comunque ho visto che carica 2 volte jQuery in 2 versioni differenti, jQuery 2.1.3 e jQuery v3.3.1. Questo può creare conflitti e mal funzionamenti. Le consiglio di usare quella più recente.

    Inoltre, la libreria jQuery è sempre meglio caricarla prima di tutte le altre librerie js che ne fanno uso.

    Cordiali saluti.

    ho risolto eliminando il doppio carimento di jquery

    Grazie mille

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •