Visualizzazione risultati 1 fino 7 di 7

Discussione: problema con css legato a javascript

  1. #1
    Guest

    Predefinito problema con css legato a javascript

    ho trovato 2 script per arrotondare i bordi senza immagini e senza tag vuoti però questo script è legato ai css e nel mio sito i css sono su una cartella diversa tutti insieme e per questo lo script non funziona.
    ecco i codice:
    script 1(interno alla pagina):
    Codice:
    <script type="text/javascript">
    
    window.onload=function(){
    
    if(!NiftyCheck())
    
        return;
    
    RoundedTop("div.news","#FFF","#FFC5FF");
    
    RoundedBottom("div.news","#FFF","#F0F0E7");
    
    }
    
    </script>
    script2 (esterno):
    Codice:
    function NiftyCheck(){
    
    if(!document.getElementById || !document.createElement)
    
        return(false);
    
    var b=navigator.userAgent.toLowerCase();
    
    if(b.indexOf("msie 5")>0 && b.indexOf("opera")==-1)
    
        return(false);
    
    return(true);
    
    }
    
    
    
    function Rounded(selector,bk,color,size){
    
    var i;
    
    var v=getElementsBySelector(selector);
    
    var l=v.length;
    
    for(i=0;i<l;i++){
    
        AddTop(v[i],bk,color,size);
    
        AddBottom(v[i],bk,color,size);
    
        }
    
    }
    
    
    
    function RoundedTop(selector,bk,color,size){
    
    var i;
    
    var v=getElementsBySelector(selector);
    
    for(i=0;i<v.length;i++)
    
        AddTop(v[i],bk,color,size);
    
    }
    
    
    
    function RoundedBottom(selector,bk,color,size){
    
    var i;
    
    var v=getElementsBySelector(selector);
    
    for(i=0;i<v.length;i++)
    
        AddBottom(v[i],bk,color,size);
    
    }
    
    
    
    function AddTop(el,bk,color,size){
    
    var i;
    
    var d=document.createElement("b");
    
    var cn="r";
    
    var lim=4;
    
    if(size && size=="small"){ cn="rs"; lim=2}
    
    d.className="rtop";
    
    d.style.backgroundColor=bk;
    
    for(i=1;i<=lim;i++){
    
        var x=document.createElement("b");
    
        x.className=cn + i;
    
        x.style.backgroundColor=color;
    
        d.appendChild(x);
    
        }
    
    el.insertBefore(d,el.firstChild);
    
    }
    
    
    
    function AddBottom(el,bk,color,size){
    
    var i;
    
    var d=document.createElement("b");
    
    var cn="r";
    
    var lim=4;
    
    if(size && size=="small"){ cn="rs"; lim=2}
    
    d.className="rbottom";
    
    d.style.backgroundColor=bk;
    
    for(i=lim;i>0;i--){
    
        var x=document.createElement("b");
    
        x.className=cn + i;
    
        x.style.backgroundColor=color;
    
        d.appendChild(x);
    
        }
    
    el.appendChild(d,el.firstChild);
    
    }
    
    
    
    function getElementsBySelector(selector){
    
    var i;
    
    var s=[];
    
    var selid="";
    
    var selclass="";
    
    var tag=selector;
    
    var objlist=[];
    
    if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
    
        s=selector.split(" ");
    
        var fs=s[0].split("#");
    
        if(fs.length==1) return(objlist);
    
        return(document.getElementById(fs[1]).getElementsByTagName(s[1]));
    
        }
    
    if(selector.indexOf("#")>0){ //id selector like "tag#id"
    
        s=selector.split("#");
    
        tag=s[0];
    
        selid=s[1];
    
        }
    
    if(selid!=""){
    
        objlist.push(document.getElementById(selid));
    
        return(objlist);
    
        }
    
    if(selector.indexOf(".")>0){  //class selector like "tag.class"
    
        s=selector.split(".");
    
        tag=s[0];
    
        selclass=s[1];
    
        }
    
    var v=document.getElementsByTagName(tag);  // tag selector like "tag"
    
    if(selclass=="")
    
        return(v);
    
    for(i=0;i<v.length;i++){
    
        if(v[i].className==selclass){
    
            objlist.push(v[i]);
    
            }
    
        }
    
    return(objlist);
    
    }
    credo che il problema sia nel primo script comunque li ho postati tutti e due
    grazie

  2. #2
    Guest

    Predefinito

    Intanto hai una pagina di esempio? Poi hai inserito il secondo script prima del primo?
    Una cosa come:
    Codice HTML:
    <script type="text/javascript" src="script2.js"></script>
    <script type="text/javascript">
    //resto del primo script
    </script>
    Inoltre le funzioni RoundedTop() e RoundedBottom() vogliono 4 parametri, mentre tu gelene passi tre
    Un'altro consiglio: ma perchè non usi le immagini invece di javascript? Pensa se uno ha javascript disabilitato, o usa un browser testuale, non può vedere i bordi arrotondati. Se usi delle piccole immagini le possono vedere tutti
    Ultima modifica di gabryhacker : 05-03-2009 alle ore 18.19.17

  3. #3
    Guest

    Predefinito

    allora per la pagina di esempio ecco il codice:
    Codice HTML:
     <html><head>
    
    <link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
    
    
    
    <script src="javascript/jquery.easing.1.3.js" type="text/javascript"></script>
    
    <script type='text/javascript' src='javascript/jquery-1.2.6.min.js'></script>
    
    <script type='text/javascript' src='javascript/kwicks.js'></script>
    
    <script type='text/javascript' src='javascript/custom.js'></script>
    <script type="text/javascript" src="javscript/nifty.js"></script>
    
    <script type="text/javascript">
    
    window.onload=function(){
    
    if(!NiftyCheck())
    
        return;
    
    RoundedTop("div.news","#FFF","#FFC5FF");
    
    RoundedBottom("div.news","#FFF","#F0F0E7");
    
    }
    
    </script>
    
    </head>
    
    
    
    <body>
    
    <div class="contenitore">
    
    <?php include("header.php"); ?>
    
    <?php include("sidebar.php"); ?><div class="content"><div class="news">
    
    <h3>Simple. On top and bottom too.</h3>
    
    <p>Aoioeou eeeu ueeiuiii uoauiioi uae eoeoioe ouiui oieouoo uioo uaieeoe oe eouoiea a oou uiu.</p>
    
    </div>
    
    <div class="news">
    
    <h3>Another one? Easy.</h3>
    
    <p>Eeuie iaeu uieoi i iuia oeuieeuu iia uoe ouo eu oieo uiuu u ueiuoiu u aaie oooeuai  ieooaaa.</p>
    
    </div><br/></div>
    <?php include("footer.php"); ?>
    
     </div>
    
     </body>
    i js a cui ci si riferisce sono javascript/nifty.js
    e quello interno,
    ho usato javascript perchè di immagini nella pagina ce ne erano già tante forse troppe e non volevo appesantirla troppo
    non so se può essere utile comunque il file style.css ha solo dei @import tra cui quello riferito allo javascript

  4. #4
    Guest

    Predefinito

    forse il problema sta negli @import
    prova a specificare tutti i css esterni con l'apposito tag <link ...>


    Ciao!

  5. #5
    Guest

    Predefinito

    ora provo
    edit: non cambia nulla però forse il problema c'è perchè ho cambiato il nome del css
    ri-edit anche così non fa
    ri-ri-edit: risolto
    Ultima modifica di mytecnology : 05-03-2009 alle ore 19.04.43

  6. #6
    Guest

    Predefinito

    Spiega anche come, una cosa come questa serve a qualche cristo che fa una ricerca

  7. #7
    Guest

    Predefinito

    no gli angoli arrotondati li ho fatti con i tag vuoti <b> e senza css

Regole di scrittura

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