Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Modificare uno script per il doctype adatto...

    Salve a tutti ....come da titolo vorrei poter utilizare questo news-ticker ma ho alcune lacune in js e non so come poterlo far funzionare con un doctype diverso.....

    mi spiego meglio...

    ho questo script che funziona egregiamente sia su windows (e te pareva che non funzionava!!) ed anche su Firefox (che è quello che mi interessa di più) ma se vado a cambiare il doctype della pagina allora tutto va a farsi friggere!!

    Per windows funziona sempre ma non rimane più ristretto dentro al div e quindi il testo scorre su tutta la sua larghezza uscendo quindi dal div.

    Su firefox invece oltre a vedersi il testo su tutta la larghezza del monitor, il testo rimane fermo!!!

    Vi posto ora lo script con il doc-type funzionante:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <head>
    	<title>Untitled</title>
    
    <script type="text/javascript" language="JavaScript">
    <!-- 
    // Use Freely as long as following disclaimer is intact ::
    //---------------------------------------------------------------
    // Cross Browser Multi-Directional Scroller v1.0 24th August 2004
    // This script written by Rik Comery. www.ricom.co.uk
    // For support, visit the "Resources" section at www.ricom.co.uk           
    // All rights reserved.   
    // Featured in the SimplytheBest DHTML Scripts Library at http://simplythebest.net/scripts/
                                         
    Article = new Array;
    i=0;
    
    /* DEFINE SCROLLER ELEMENTS
      Define new scroller elements here in the following format.
      Article[i] = new Array ("display text", "URL", "frame target to load link in");i++  
      Note: If you do not want the item to be a link, change the URL value to "none".
    */
      Article[i] = new Array ("Welcome to PlanMagic", "http://planmagic.com", "_blank");i++  
      Article[i] = new Array ("We offer a wide range of business planning software:", "none", "");i++
      Article[i] = new Array ("Business plan", "http://planmagic.com/business_plan.html", "_blank");i++
      Article[i] = new Array ("Marketing plan", "http://planmagic.com/marketing_plan.html", "_blank");i++
      Article[i] = new Array ("Financial plan", "http://planmagic.com/financial_plan.html", "_blank");i++
      Article[i] = new Array ("Restaurant business plan", "http://planmagic.com/business_plan/restaurant_business_plan.html", "_blank");i++
      Article[i] = new Array ("Hotel business plan", "http://planmagic.com/business_plan/hotel_business_plan.html", "_blank");i++
      Article[i] = new Array ("Internet business plan", "http://planmagic.com/webquestpro.html", "_blank");i++
      Article[i] = new Array ("and more..", "http://planmagic.com", "_blank");i++
    
    ////// SCROLLER CONFIGURATION ///////////////////////////////////////////////////////////////////  
    
    orientation = "horizontal"        // Orientation of scroller (Horizontal or vertical)
    scrollerWidth = "350"             // Width of entire scroller.
    scrollerHeight = "25"             // Height of Scroller.
    borderWidth = 1                   // Width of border. (use 0 for no border).
    borderColour = "#006600"          // Colour of scroller border. (Use either hexadecimal or text values. e.g. "#FF0000" or "Red") 
    backColour = "#d7ebff"              // Colour of scroller background. (Use either hexadecimal or text values. e.g. "#FF0000" or "Red") 
    staticColour = "#000000"          // Colour of scroller items that are NOT a link. (including scrollerDivider characters)
    stopScroll = 0                    // Pause the scroller on mouseOver. (use 0 for no.)
    textAlignment="left"            // Alignment of each scroller item.  Only really makes a difference on vertical scroller
                                      // (center, left, right, justify)
    
    // Scroller Links
    linkFont = "arial"                // Font of scroller links;
    linkWeight = "normal"             // Weight of scroller links;
    linkColour = "#000080"            // Colour of scroller links
    linkSize = "10"                   // Size of links (in points)
    linkDecoration = "none"           // Decoration of links. (underline, overline, none)
    
    // Scroller Links On MouseOver
    slinkFont = "arial"               // Font of scroller links;
    slinkWeight = "normal"            // Weight of scroller links;
    slinkColour = "#cc3333"           // Colour of scroller links
    slinkSize = "10"                  // Size of links (in points)
    slinkDecoration = "underline"     // Decoration of links. (underline, overline, none)
    
    scrollerDivider = "-" // Character to place between each scroller item. 
                                      // <img> tags can be used if an image is required. 
                                      // Use "0" for nothing.  For Vertical scrollers, it is best to use "
    "
    
    /* 
      Because Netscape version 4 does not support this scroller, configure the values below so NS4 users do not see an error. 
      In the scroller's place will be a static title which can be a link if require.  The appearance of the static text (colour, scroller border etc)
      will be exactly the same as for the working version in other browsers.
    */
    ns4Text = "Click Here to visit the PlanMagic Software";  // Alternative text to display in Netscape 4.
    ns4URL = "http://planmagic.com";            // URL of link in NS4. If no URL is required, enter "none"
    ns4Target = "_top";                           // Frame target for link in NS4
    
    ////// DO NOT EDIT BELOW THIS LINE  ///////////////////////////////////////////////////////////////////
    
    //Browser Sniffer
    var isIE = (document.getElementById && document.all)?true:false;
    var isNS4 = (document.layers)?true:false;
    var isNS6 = (document.getElementById && !document.all)?true:false;
    
    style='<style type="text/css">';
    style+='p{font-family:'+linkFont+'; color:'+staticColour+'; font-size:'+linkSize+'pt; font-weight:'+linkWeight+'; text-align:'+textAlignment+'}';
    style+='a.rcScroller,a.rcScroller:active,a.rcScroller:visited{color:'+linkColour+';text-decoration:'+linkDecoration+'; font-weight:'+linkWeight+'}';
    style+='a.rcScroller:hover{color:'+slinkColour+';text-decoration:'+slinkDecoration+'; font-weight:'+slinkWeight+'}';
    style+='rcScrollerHoverNS{color:red;text-decoration:'+slinkDecoration+'; font-weight:'+slinkWeight+'}';
    style+='<\/style>';
    document.writeln(style);
    
    // Build the scroller and place it on the page
    function buildScroller()
    {
      if(isNS4){
        scroller='<table border="0" cellpadding="0" cellspacing="0" width="'+scrollerWidth+'" bgcolor="'+borderColour+'"><tr><td>'
        scroller+='<table border="0" cellpadding="3" cellspacing="1" width="100%" height="'+scrollerHeight+'" bgcolor="'+backColour+'"><tr><td align="center" nowrap>
    
    ';
        if(ns4URL.toLowerCase()!="none"){scroller+=''+ns4Text+'';}
        else{scroller+=ns4Text;} 
        scroller+='</p></td></tr></table></td></tr></table>'   
      }else{
        scroller='<table border="0" cellpadding="0" cellspacing="0" style="width:'+scrollerWidth+';height:'+scrollerHeight+';border:'+borderWidth+'px solid '+borderColour+';background-color:'+backColour+'">';
        scroller+='<tr valign="middle"><td><div id="div" style="';
        if(orientation.toLowerCase()=="vertical"){scroller+='height:'+scrollerHeight+';';}
        scroller+='width:'+scrollerWidth+'; position:relative; background-color:'+backColour+'; overflow:hidden">';
        scroller+='<div id="div1" style="position:relative; left:0; z-index:1">';
        scroller+='<table border="0" name="table" id="table"';
        if(orientation.toLowerCase()=="vertical"){scroller+='style="width:'+scrollerWidth+'"';}
        scroller+='><tr>';
        y=0;
        while (y<4)
        {
          for (x=0; x<(Article.length); x++)
          {
            if(orientation.toLowerCase()=="vertical"){scroller+='<tr>';}
            scroller+='<td ';
            if(orientation.toLowerCase()=="horizontal"){scroller+='nowrap';} if(stopScroll==1){scroller+=' onMouseOver="stopScroller();" onMouseOut="setWidth()"';}
            scroller+='>
    
    ';
            if(Article[x][1].toLowerCase()!="none"){scroller+='<a class="rcScroller" href="'+Article[x][1]+'" target="'+Article[x][2]+'" >'+Article[x][0]+'<\/a>';
            }else{scroller+=Article[x][0];}          
            scroller+='</p><\/td>';
            
            if(orientation.toLowerCase()=="vertical"){scroller+='<\/tr>';}
                  
            if(scrollerDivider.toLowerCase() != "none"){scroller+='<td nowrap>
    
    '+scrollerDivider+'<\/p><\/td>';}
          }
          y++
        }
        scroller+='<\/tr><\/table><\/div><\/div><\/td><\/tr><\/table>';  
      }
      document.writeln(scroller);
    }
    
    
    // Ensure the width of the scroller is divisible by 2. This allows smooth flowing of the scrolled content
    function setWidth()
    { 
      tableObj=(isIE)?document.all("table"):document.getElementById("table"); 
      obj=(isIE)?document.all.div1:document.getElementById("div1");   
      objWidth=(orientation.toLowerCase()=="horizontal")?getOffset(tableObj,"width"):getOffset(tableObj,"height");
      HalfWidth=Math.floor(objWidth/2);
      newWidth = (HalfWidth*2)+2;
      obj.style.width=newWidth
      moveLayer(obj, newWidth);
      
    }
    
    // Move the layer by one pixel to the left
    function moveLayer(obj, width)
    {
      
      maxLeft = (0-(width/2)+2)/2
      if(orientation.toLowerCase()=="horizontal"){
        obj.style.left=(parseInt(obj.style.left) <= maxLeft)?0:parseInt(obj.style.left)-1
      }else{
        if(obj.style.top==""){obj.style.top=0;}
       // alert(obj.style.top)
        if (parseInt(obj.style.top)<(0-(width/2)+6)){
          obj.style.top = 0
        }else{
          obj.style.top = parseInt(obj.style.top)-1
        }
      }
      timer = setTimeout ("moveLayer(obj, "+width+");", 25); 
    }
    
    // Get width and height of layer
    function getOffset(obj, dim) 
    {
      if(dim=="width")
      {
        oWidth = obj.offsetWidth
        return oWidth
      }  
      else if(dim=="height")
      {
        oHeight = obj.offsetHeight
        return oHeight
      }    
    }
    
    function stopScroller()
    {
      clearTimeout(timer)  
    }
    
    function runScroller(){
      if(!isNS4){setWidth()}
    }
    ////// END OF SCRIPT  ///////////////////////////////////////////////////////////////////
    //-->
    </script>
    
    
    </head>
    
    <body onLoad="runScroller();">
    
    <script type="text/javascript" language="JavaScript">buildScroller()</script>
    
    </body>
    </html>

    a questo punto se cambio il doctype esistente con questo :

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    allora non funziona più nulla!!!

    Scusate la lunghezza del post e spero che qualcuno di voi mi possa dare una mano d'aiuto a risolvere!!

    Grazie mille in anticipo...
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sinceramente non ho tempo neanche per ricopiarlo in una pagina html

    2 avvertenze con doctype strict:

    - se setti via javascript valori di proprieta' css che si aspettano un' unita' di misura devi specificarla, es.
    var mis=20;
    document.getElementById('id').style.width=mis+'px' ;

    - se rilevi proprieta' del body, x es. document.body.clientWidth, devi usare una sintassi particolare
    vedi qui per un esempio

    good luck

  3. #3
    Intanto ti ringrazio e provo a vedere di risolvere con le avvertenze che mi hai postato e con il link segnalato....

    .....se poi non riesco posto di nuovo!!

    ...naturalmente se qualcun'altro volesse intervenire faccia pure
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il problema e` il doctype strict?

    Devi mettere lo script fuori dalla pagina: in un file a parte (consigliato), o fra commenti CDATA:
    <script type="text/javascript">
    /*<![CDATA[*/

    il tuo script

    /*]]*/
    </script>

    naturalmente non devi usare tag o attributi obsoleti, tipo language, tutti gli attributi di formattazione, ecc. font, [b], ...
    http://www.w3schools.com/xhtml/xhtml_reference.asp

    Per i problemi con i CSS, posta nel forum CSS e XHTML (sotto HTML).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    grazie anche a te Mich_ per gli ottimi consigli che mi state fornendo e cmq il doctype non è strict ma transitional!!

    Per ora comunque sono riuscito a farlo funzionare perfettamente su explorer (li funge tutto!! anche quello che non dovrebbe ) mentre con firefox sono riuscito a farlo stare dentro il div ma non a farlo scorrere!!

    Quando sarò riuscito anche in questo intento posterò qui lo script in modo che se serve a qualcun'altro se ne possa servire
    www.skorpiograph.com - [ PORTFOLIO ]
    ...se vuoi essere aiutato devi aiutare chi ti aiuta ad aiutarti!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.