Pradinis
Pagalba
Užsisakyk!
- Reklamą
- Hostingą
- El. pašto dėžutę
Užsisakyk!
Įrankiai
Pasidalink
- Visos temos
Situacija yra tokia, kad kurdami tinklapius privalome juos adaptuoti visoms naršyklėms. Todėl, nesvarbu kad viskas veikia ant mūsų mėgstamo Firefox. Naršyklė, kuri šiuo metu palaiko daugiausiai HTML galimybių ir standartų, vienintelė praktiškai pilnai palaikanti CSS 3.0 standartą ir itin greit generuojanti JavaScript. O problema yra ta, kad su problemomis susidurime tikrindami Opera naršyklėje. Tačiau bene labiausiai su jomis susiduriame senojoje gerojoje Internet Explorer. Taigi - mūsų užduotis <select name='pasirk' id ='pas1' onchange='updateOpts(this)'> kur onchange atributo dėka paslėptume kelis punktus iš pasirinkimų sąrašo. Firefox viskas labai paprasta: if(hide == 1) Ir problemos nebėra. Tačiau tai veikia tik FireFox. Dabar problemą išspręsti naršyklei Opera ir kitoms bent kiek padoresnėms naršyklėms, galima primityviu bet veikiančiu būdu: forma.options[2].disabled = "disabled"; Tokie punktai dabar taps pilki ir nebepažymini. Tačiau su didžiausia problema susiduriame tuomet, kai tą funkciją pabandome padaryti ant IE. Problema ta, kad visos IE naršyklės, išskyrus naujausią, yra su bugu, apie kurį oficialiai pranešta čia: http://webbugtrack.blogspot.com/...in-ie.html Kaip matome iš nuorodos, tai padaryta dar 2007'aisias buvo. Tačiau Microsoft, šią problemą tesugebėjo išspręsti tik IE8 naršyklėje. T.y. <select> triukas nesuveiks IE6 ir IE7 naršyklėse. Todėl šią problemą IE6 ir IE7 naršyklėms išspręsti reikia pasitelkti papildomus metodus. Mums tiesiog reikia naikinkti vaikus(removeChild) bei pridėti vaikus(appendChild). Na o visą mūsų elementų baseiną(elements pool) turime saugoti globaliose JavaScript sekose(arrays): var brokenPipe = ['a', 'b', 'c', ['ca', 'cb'], 'd', 'e']; Tuomet reiktų generuoti sąrašą tokiu būdu: 1. Išvalome baseiną (ištriname visus pasirinkties sąrašo elementus) naudodamies removeChild metodu 2. IF funkcijos pagalba pridedame naujus elementus po vieną į pasirinkčių sąrašą galą pradedant nuliniu elementu. Pačios javascript funkcijos, supaprastinančios šį Jūsų darbą būtų tokios: function insertOptionBefore(num) { Specifiškai pagal savo poreikius šias funkcijas manau jau sugebėsite persidaryti. Tačiau svarbu įsidėmėti, kad dėl IE veikimo keblumų būtina naudoti klaidų valdymo mechanizmą try{} catch(ec){}. Kadangi IE įdės elementą sėkmingai be antrojo add() parametro. Kaip atrodo vizualiai visa tai, galite peržiūrėti čia: http://javascript.internet.com/f...tions.html --- Dar papildomai tokį vieną kodą pateiksliu, skirtą sukurti pasirinkimų([i]options) sąrašą iš elementų sekos javascript pagalba: // Šalių ir miestų sąrašas Parengė @ozzWANTED 2010 01 31 © PhpFusion-Lt.com | Straipsnio informacijaAutoriusozzWANTED Parašymo data 2010 sausio 31 22:01:40 Komentarų 5 Skaityta 1812 Spausdinti |
.demo-button {
border:4px solid #000;
background-color:#000;
background-image:-webkit-gradient(linear, 0% 1%, 0% 95%, from(rgba(255,255,255,0.9)), to(rgba(64,64,64,0.9)), color-stop(.8,rgba(64,64,64,0.25)),color-stop(.25,rgba(32,32,32,0.5)));
background-image:-moz-linear-gradient(top,bottom,from(rgba(255,255,255,0.9)),color-stop(80%, rgba(64,64,64,0.25)),color-stop(25%, rgba(32,32,32,0.5)),to(rgba(64,64,64,0.9)));
}