Včera jsem potřeboval jednoduchou věc na Bookmarky.cz: zobrazit a skrývat tlačítko (pro smazání) u každého odkazu. Stránka používá JQuery, tak by to nebyl problém.

  1. $('.prepinac').toggle(
  2.   function(){
  3.      $('.t_tlacitko').show();
  4.   },
  5.   function(){
  6.      $('.t_tlacitko').hide();
  7.   }
  8. )

JQuery funguje tak, že najde všechny objekty odpovídající kritériu “.t_tlacitko” a každému nastaví nový styl. Problém se vyjeví v okamžiku, kdy na stránce potřebujeme vytvořit nový element .t_tlacitko. Ten dostane do vínku pouze výchozí styl, tedy u nového prvku se tlačítko se zobrazí, i když máme ostatní pěkně schované. Bylo by třeba updatovat všechny prvky po každém vytvoření záložky, což by asi nikdo soudný nedělal.

Ideální je skrývat je přímo změnou pravidla v CSS. Přiznám se, myslel jsem, že to lze javascriptem snadněji. Internet Explorer totiž používá pro CSSrules jiné označení než standardy-uznávající okolní svět.

Nakonec jsem našel toto řešení:

  1. /*****Library – directly change css rule *****/
  2. //Example:changecss('.ClassName','width','280px'); changecss('#IDname','color','red');
  3. function changecss(theClass,element,value) {
  4.  var cssRules;
  5.  for (var S = 0; S < document.styleSheets.length; S++){
  6.   try{
  7.    document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
  8.   } catch(err){
  9.    try{document.styleSheets[S].addRule(theClass,element+': '+value+';');
  10.    }catch(err){
  11.     try{
  12.      if (document.styleSheets[S]['rules']) {
  13.       cssRules = 'rules';
  14.      } else if (document.styleSheets[S]['cssRules']) {
  15.       cssRules = 'cssRules';
  16.      } else {
  17.       //no rules found… browser unknown
  18.      }
  19.      for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
  20.       if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
  21.        if(document.styleSheets[S][cssRules][R].style[element]){
  22.         document.styleSheets[S][cssRules][R].style[element] = value;
  23.         break;
  24.        }
  25.       }
  26.      }
  27.     } catch (err){}
  28.     }
  29.    }
  30.   }
  31.  }

Vykonání skriptu by mělo být je mnohem rychlejší než pomocí JQuery, protože neměníme styl postupně u všech prvků, ale přímo v hlavním CSS.

  1. $('.prepinac').toggle(
  2.   function(){
  3.      changecss('.t_tlacitko','display','block')  
  4.    },
  5.   function(){
  6.      changecss('.t_tlacitko','display','none')  
  7.   }
  8. )
Hlasujte pro tento článek:
  • Bookmarky.cz
  • Digg
  • del.icio.us
  • Google
  • Linkuj
  • Vybrali.sme
  • E-mail this story to a friend!
  • Facebook
  • LinkedIn

Pár jednoduchých hacků pro odlišení IE6+a-
Samozřejmě lepší bude asi

  1. <!–[if lt IE 7]> <link href="ie_6_and_below.css" rel="stylesheet" type="text/css"> <![endif]–>

apod., ale i tohle se může občas hodit.

IE 6 a nižší

* html {}

IE 7 a vyšší

*:first-child+html {} * html {}

Pouze IE 7

*:first-child+html {}

IE 7 a moderní prohlížeče

html>body {}

Moderní prohlížeče (vyšší než IE 7)

html>/**/body {}

(z http://www.webdevout.net , neověřeno )

Hlasujte pro tento článek:
  • Bookmarky.cz
  • Digg
  • del.icio.us
  • Google
  • Linkuj
  • Vybrali.sme
  • E-mail this story to a friend!
  • Facebook
  • LinkedIn

Jedna věc mi ve Windows 7 opravu vadila. Ano, jsou to ty obrovské ikony na liště.
Zobrazení panelu s malými roztomilými ikonami z předchozích verzí, na které jsme zvyklí,  lze naštěstí nastavit i tady.

Zobrazení panelu Rychlé spuštění ve Windows 7

Klikneme pravým tlačítkem na lištu. Z kontextové nabídky vybereme

Panely nástrojů > Nový panel nástrojů..

Do horního řádku zkopírujte adresu

%appdata%\Microsoft\Internet Explorer\Quick Launch

Výber potvrďte tlačítkem Vybrat složku.

Vpravo dole se objeví panel s ikonami. Pravým tlačítkem ještě schováme popisy a s trochou zručnosti přesuneme panel vlevo.

Hlasujte pro tento článek:
  • Bookmarky.cz
  • Digg
  • del.icio.us
  • Google
  • Linkuj
  • Vybrali.sme
  • E-mail this story to a friend!
  • Facebook
  • LinkedIn

1. Všichni z hloubi duše nenávidí “intro” stránky.

2. Nezáleží na tom, jak je stránka nádherná, nejméně polovina návštěvníků odejde pryč hned z první stránky. Proto je třeba, aby na ní bylo vše podstatné.

3. Návštěvníci raději několikrát otočí kolečkem myši, než by jednou kliknuli na odkaz, nezáleží na tom, jak je stránka dlouhá (platí také na home page).

4. Návštěvník raději klikne na jednoduchý textový odkaz než na obrázkový.

5. Menu jsou nezbytná, ale nejsou výzvou ke kliknutí.

6. Víceúrovňová rozbalovací menu způsobí “zahlcení možnostmi”, které odrazuje od kliknutí

7. Nejlepší výzvou ke kliknutí je textový odkaz “Nahý Barrack Obama

8. Návštěvník klikne na odkaz pouze v případě, že za ním očekává krátké upřesnění informace (hlavně bez dalšího klikání).

9. Návštěvníci mají šestý smysl na to, jak často je stránka aktualizována. Pokud není, už se nikdy nevrátí.

10. Není víc pravidel.

Volně přeloženo z článku Allena Bootha

Hlasujte pro tento článek:
  • Bookmarky.cz
  • Digg
  • del.icio.us
  • Google
  • Linkuj
  • Vybrali.sme
  • E-mail this story to a friend!
  • Facebook
  • LinkedIn

Toto zkrátka potřebuju pořád. Kód si projde všechny movieClipy uvnitř klipu “world” a nastaví jim průhlednost na 0.2.

  1. for (var item:String in world){
  2.           var fn=this.world.getChildByName(item);
  3.           fn.alpha=.2;
  4. }
Hlasujte pro tento článek:
  • Bookmarky.cz
  • Digg
  • del.icio.us
  • Google
  • Linkuj
  • Vybrali.sme
  • E-mail this story to a friend!
  • Facebook
  • LinkedIn

další články »