« 1 2 »
Autor Zpráva
Neas
Profil
Ahoj.
Zkoušel jsem na svojí stránku udělat to, že by ze shora dolu padaly pírka, ale když na stránky vložim kód, pírka sice padají, ale je za nimi jen bílé pozadí, bez ničeho. Nevíte, kde je chyba?
Možná jsem to jen špatně umístil, ale nefunguje to, ať to dám snad kamkoli - na dno tagu body = bez efektu, navrh do tagu head = výše zmíněný efekt.
EDIT: script je stažený z internetu a navíc je tam vložená nějaká reklama či co... (http://www.dynamicdrive.com/), tak ještě jestli by někdo věděl, jak jí odstranit, taky bych byl rád :)
kód:
<script type="text/javascript">

    /******************************************
    * Snow Effect Script- By Altan d.o.o. (http://www.altan.hr/snow/index.html)
    * Visit Dynamic Drive DHTML code library (http://www.dynamicdrive.com/) for full source code
    * Last updated Nov 9th, 05' by DD. This notice must stay intact for use
    ******************************************/
     
      //Configure below to change URL path to the snow image
      var snowsrc="pirko.gif"
      // Configure below to change number of snow to render
      var no = 5;
      // Configure whether snow should disappear after x seconds (0=never):
      var hidesnowtime = 0;
      // Configure how much snow should drop down before fading ("windowheight" or "pageheight")
      var snowdistance = "windowheight";

    ///////////Stop Config//////////////////////////////////

      var ie4up = (document.all) ? 1 : 0;
      var ns6up = (document.getElementById&&!document.all) ? 1 : 0;

       function iecompattest(){
       return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
       }

      var dx, xp, yp;    // coordinate and position variables
      var am, stx, sty;  // amplitude and step variables
      var i, doc_width = 800, doc_height = 600;
     
      if (ns6up) {
        doc_width = self.innerWidth;
        doc_height = self.innerHeight;
      } else if (ie4up) {
        doc_width = iecompattest().clientWidth;
        doc_height = iecompattest().clientHeight;
      }

      dx = new Array();
      xp = new Array();
      yp = new Array();
      am = new Array();
      stx = new Array();
      sty = new Array();
      snowsrc=(snowsrc.indexOf("dynamicdrive.com")!=-1)? "snow.gif" : snowsrc
      for (i = 0; i < no; ++ i) { 
        dx[i] = 0;                        // set coordinate variables
        xp[i] = Math.random()*(doc_width-50);  // set position variables
        yp[i] = Math.random()*doc_height;
        am[i] = Math.random()*20;         // set amplitude variables
        stx[i] = 0.02 + Math.random()/10; // set step variables
        sty[i] = 0.7 + Math.random();     // set step variables
          if (ie4up||ns6up) {
          if (i == 0) {
            document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/div>");
          } else {
            document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
          }
        }
      }

      function snowIE_NS6() {  // IE and NS6 main animation function
        doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
          doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")?  iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
        for (i = 0; i < no; ++ i) {  // iterate for every dot
          yp[i] += sty[i];
          if (yp[i] > doc_height-50) {
            xp[i] = Math.random()*(doc_width-am[i]-30);
            yp[i] = 0;
            stx[i] = 0.02 + Math.random()/10;
            sty[i] = 0.7 + Math.random();
          }
          dx[i] += stx[i];
          document.getElementById("dot"+i).style.top=yp[i]+"px";
          document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px"; 
        }
        snowtimer=setTimeout("snowIE_NS6()", 10);
      }

       function hidesnow(){
          if (window.snowtimer) clearTimeout(snowtimer)
          for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
       }
          

    if (ie4up||ns6up){
        snowIE_NS6();
          if (hidesnowtime>0)
          setTimeout("hidesnow()", hidesnowtime*1000)
          }

    </script>
Chamurappi
Profil
Reaguji na Nease:
Nevíte, kde je chyba?
Tipnul bych si, že někde jinde, než v kódu, který uvádíš. Nemá smysl hádat. Prosím o odkaz na živou ukázku.
Neas
Profil
takhle to má vypadat (jen pírka místo vloček) :
http://www.dynamicdrive.com/dynamicindex3/snow.htm

A místo toho tam ty pírka padají na čistě bílém pozadí..
Chamurappi
Profil
Reaguji na Nease:
Na odkázané stránce žádný problém nevidím. Těžko ti někdo řekne, kde děláš chybu, když sem dáš kód (zřejmě) funkčního skriptu a jeho funkční ukázku.
Neas
Profil
Tahle ukázka je z webu, kde jsem to stáhl, když jsem to zkusil ve svém počítači, pírka sice padala, ale za nimi bylo jen bílé pozadí, nic, žádné obrázky, žádný text, nadpisy, prostě jen bílo.

EDIT: jestli nikdo nevidíte chybu, nenapadá vás, prosím, nějaký jiný script, který bych mohl použít a jak ho kam umístit? děkuji
Chamurappi
Profil
Reaguji na Nease:
Když tě ošklivě pokouše toulavý pes do nohy, co uděláš? Zvedneš telefon, zavoláš doktorovi, že jsi pokousán, pošleš mu mail s fotkou, jak vypadá tvá noha, a také kamaráda, aby viděl, jak vypadá nepokousaná noha, a pak už si jen počkáš na diagnózu, ano?

A teď si představ, co se asi stane, když tě ošklivě pokouše toulavý Chamurappi, protože k tomu tahle konverzace nevyhnutelně spěje.
Prosím o odkaz na živou ukázku problému.
Bubák
Profil
Zkusil jsem skript, který jsi sem vložil, napaloval jsem si v Inkscpe něco jako pírko, a v mém počítači v různých prohlížečích bez problémů a bez reklamy. Přiznám, že tvůj popis problému nechápu, dej odkaz na živou ukázku, jak už žádal Chamurappi.

Koukám, že mezitím, co jsem kopíroval skript a maloval pírko a testoval v různých prohlížečích, Chamurappi tě chce připravit o nohu.
Neas
Profil
Tohle je verze, ve které jsem kód vložil do ragu body:
http://dreamingninjas.ic.cz/
A tohle verze, kdy jsem ho vložil do tagu head, ale na serveru se to chová jinak, než když jsem to pouštěl v prohlížeči, nechápu to... (Pro změnu se nezobrazuje vůbec nic.) Také jsem si ale při uploadování na server všiml, že na jiných stránkách mi tento kód funguje, může to bát tím, že stránka, na kterou se to pokouším dát, jsou jen framesety? A pokud ano, jde to nějak obejít, aby ta pírka šla vidět?
http://dreamingninjas.ic.cz/druhy/
Bubák
Profil
Neas:
může to bát tím, že stránka, na kterou se to pokouším dát, jsou jen framesety?
Ano.

A pokud ano, jde to nějak obejít, aby ta pírka šla vidět?
Ne, jedině, že byl měl pírka v každém rámci, ale bude to vypadat divně.

<joke>
Tak mě napadá, co tak mezi nevýhody rámů přidat:
- na stránku nemůžete přidat padající smetí
</joke>
Neas
Profil
aha.. nevadí, použiju to na druhou stránku. I tak díky že jste mi zkusili pomoci :)
peta
Profil
http://peter-mlich.wz.cz/web/js/prx/index.htm\si muzes vybrat, ktery script chces z efektu

http://dreamingninjas.ic.cz/druhy/
Ve FF pise chybova konzola
Chyba: syntax error
Zdrojový soubor: http://dreamingninjas.ic.cz/druhy/
Řádek: 28, Sloupec: 7
Zdrojový kód:
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
Jenze to vypada ok. Mozna bych to zkusil cele ozavorkovat od return po konec.
Ten druhy odkaz nehlasi chyby.


"Pro změnu se nezobrazuje vůbec nic"
zkusil jsi misto obrazku zobrazovat treba pismenko 'a'. Treba jen mas v nespravnem adresari obrazky.

Mimochodem, podle pravidel HTML ve strance s FRAMESET zadne BODY nesmi byt. Jestli to treba neni duvot, ze jej prohlizece ignoruji?
Chamurappi
Profil
Reaguji na petu:
podle pravidel HTML ve strance s FRAMESET zadne BODY nesmi byt
V <noframes> být smí, ba dokonce musí (podle pravidel W3C).

Jenze to vypada ok.
Tak proč to sem píšeš, když tam chybu nevidíš?
Bubák
Profil
Chamurappi:
V <noframes> být smí, ba dokonce musí (podle pravidel W3C).
Možná peta vycházel z toho, že odkázané stránce v příkladu k tagu <noframes> žádný tak <body> není.
Ale element BODY tam je ;-)

Všiml jsem si, že v příkladu je značka HEAD, ale není tam značka BODY, i když obě značky jsou nepovinné. Možná proto příklad začátečníky zmátne.
Chamurappi
Profil
Reaguji na Bubáka:
Ale element BODY tam je ;-)
Nicméně jen podle pravidel W3C. Podle prohlížečů tam není a ani nikdy nebyl.
Neas
Profil
Tak jsem framesety vyměnil za tabulku a padající pírka fungují, jen jsem teď narazil na nový problém.
Bubák
Profil
Neas:
Tak jsem framesety vyměnil za tabulku
Proč jsi rovnou nepoužil nějaký CSS layout?
http://interval.cz/hotova-reseni/pro-css/
Neas
Profil
v CSS jsem nikdy nedělal.
Plaváček
Profil
Neas:

v CSS jsem nikdy nedělal.

Je dobré s tím začít. Fakt. Budoucnost nepočká.
Neas
Profil
asi máš pravdu, ale nedávno jsem se začal učit PHP, tak s CSS radši trochu počkám.
denCo
Profil
Neas:
asi máš pravdu, ale nedávno jsem se začal učit PHP, tak s CSS radši trochu počkám.
zlý prístup, radšej sa nauč CSS a neskôr PHP, uľahčí ti to vela starostí
Plaváček
Profil
Neas:

A hlavně, což je důležité a nikdo ti to tady ještě neřekl - nedělej prosím na webové stránce žádné padající vločky, pírka ani hvězdičky. Ušetříš si spoustu starostí a nám, uživatelům, hafo nepříjemných zážitků. To je taky fakt.
Neas
Profil
Proč bych neměl na stránky dávat padající objekty? Právě jsem to udělal a funguje to.
Bubák
Profil
Plaváček:
Jemně jsem to naznačil, když jsem se zmínil "padající smetí".

Neas:
Proč bych neměl na stránky dávat padající objekty? Právě jsem to udělal a funguje to.
Funguje spousta věcí, rotující text letící za kurzorem myši, hodiny, info o tom, kdo má svátek, jaká je denní doba, jaký mám OS prohlížeč a rozlišení monitoru a spousta dalších nesmyslů.
www.keilew.net/webdresink/
Shulík
Profil
Protože je to obtěžující. Uživatelé se (až na několik opravdu specifických stránek, například portál pro geeky, který jim zobrazí počasí venku za oknem - to asi neexistuje, ale nenapadl mě jiný příklad) na stránce chtějí něco zajímavého dozvědět, ne vidět nějaké padající smetí, které komplikuje rozpoznávání textu.
Neas
Profil
Použil jsem to jen na úvodní rozcestník, dál na stránce už to nepoužívám.
Plaváček
Profil
Neas:

Nepoužívej to nikde.
Shulík
Profil
Neas:
Je to obtěžující a zpomauje to prohlížeč.
Chamurappi
Profil
Reaguji na Nease:
Proč bych neměl na stránky dávat padající objekty?
Ruší to při čtení, rozptylujete to návštěvníka stejně jako reklama, ale nikdo ti za to nezaplatí. Lidí, kterým by se to opravdu líbilo, moc není, čímž lze vysvětlit, proč na velkých a známých webech nic nesněží.


Reaguji na Plaváčka:
což je důležité a nikdo ti to tady ještě neřekl
Na svoji obhajobu bych rád podotkl, že mě napadlo (a určitě nejsem sám), jak vyřešit to padání i ve framesetu, ale rozhodl jsem se to raději Neasovi zatajit :-)
Neas
Profil
zatajit? Mno už jsem to vyřešil, když jsem místo framesetu použil tabulky, takže nevadí. Pokusil jsem se dát počet "padajícího smetí" takový, aby nepřekážel (řekl bych, že se mi to snad i povedlo).
Joker
Profil
Neas:
už jsem to vyřešil, když jsem místo framesetu použil tabulky
No to je řešení :)
Při přechodu z rámů na tabulky je stejně potřeba ten kód překopat, tak proč už to rovnou neudělat pořádně přes CSS?
« 1 2 »

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0