Jump to content
php.lv forumi
  • 0

diseiblots js.


eregi

Question

Tātad sorī, ja esmu neīstajā sadaļā iemetis, bet šis jautājums `palien` zem vairākām.. Tātad Man ir -

<div id="menu">
<span class='abcd'>a</span>
<span class='abcd'>b</span>
<span class='abcd'>c</span>
<span class='abcd'>d</span>
</div>

 

Plānots ir, ka viss .abcd ir paslēpts ar display none, bet tad ar js tiek parādīti atsevišķi span'i, a, ko darīt tad ja browseris neatbalsta js? Tad vajag, lai uzreiz visi .abcd ir ar display:block; vērtību.. Tad nu man pašlaik jāizdomā kā to panākt..

Mēģināju izmantojot noscript iekš <body>

<noscript>
<style ... >
#menu .abcd {display:block;}
</style>
</noscript>

 

Šis variants strādā, bet neder, jo walidators neļauj <style> atrasties iekš <body>.

Tālāk mēģināju uzreiz iekš css rakstīt #menu .abcd {display:block} un tad ar javascript to nomainīt ( šis neizdevās, jo getElementsByClassName nav uz Ie )..

 

Tad nu domāju un ceru, ka jūs palīdzēsiet izdomāt, kā panākt, ja nav javascripts, tad .abcd ir display:block;, vai pretēji, ja ir js, tad .abcd ir {display:none;}

 

Ceru, ka sapratāt domu un, ka spēsiet palīdzēt. :)

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Vienkāršāk un imho prātīgāk būtu tai <noscript> tegā ierakstīt, ka lapa jālieto ar browseri, kuram JS ir ieslēgts.

 

Bet nu, var arī pie ielādēs ar javaskriptu mainīt stilu. Tieši to klasi .abcd: http://www.quirksmode.org/dom/changess.html

Jeb nu arī lūpot visiem elementiem cauri, un meklēt, kuriem classs satur abcd, un tad mainīt attiecīgos style atribūtus. Šajā gadījumā gan prātīgāk ņemt palīgā jquery vai tml JS bibliotēku - būs vienkāršāk.

Link to comment
Share on other sites

  • 0

... ko darīt tad ja browseris neatbalsta js?

 

Uzrakstīt ar lieliem burtiem, ka lietotājam diemžēl būs jāatļauj savam pārlūkam javascript vai arī, ja tas vispār neatbalsta JS, tad jāizvēlas cits pārlūks! :D

Aizmirsti par Javascript ne-atbalstu! Tas nav aktuāli, jo mūsdienās gandrīz visas nopietnās lapas izmanto nopietni JavaScript iespējas un punkts!

Link to comment
Share on other sites

  • 0

Kas attiecas uz elementu meklēšanu pēc className - JQuery, piemēram, ir tāda iespēja iebūvēta, bet tā ir salīdzinoši lēna. Vislabāk jau tomēr izveidot katram elementam ID (kaut vai pēc noteiktas sistēmas, kā to atradīsi) un tad meklēt pēc ID, arī izmantojot JQuery, starp citu (vai citu bibliotēku), jo tur būs pārbaude vai tāds elements vispār eksistē un nenāks ārā JavaScript errori.

Link to comment
Share on other sites

  • 0

muahahahahaha.

 

Intresanti, no kura gala lai sāk skaidrot .. hmm ..

 

  1. semantiski izvēlne ir saraksts ( list - <ul> )
  2. lai paslēptu izvēlnes elementus nedrīkst lietot display: none, screenreader'i to neredz
  3. izvēlnei ir jāfuncione arī ja JS nav

 

<ul class="menu">
<li>
	<a href="/action/show/1">lorem ipsum</a>
	<ul>
		<li><a href="/doc/131">dokuments 131</a>
		<li><a href="/doc/62">dokuments 62</a>
	<ul>
</li>
<li><a href="/doc/33">documents 33</a><li>
</ul>

 

Tavai izvelnei būtu jāizskatās apmēram šādi.

JS event'i tiek pievienoti ārējā scriptā, kas, piemēram,

atrodot linku "/action/" automātiski pieliek eventListener'i ar funkciju show(1),

kura pieliek attiecīgajam parentNode klasi "active".

 

Ja JS nav (vai arī kāds uzspiež "atvērt jaunā tabā"), php pusē tiek apstādāts pieprasījums,

un nomaintītsa ktīvā SKATA pašreizejais STĀVOKLIS.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...