Diskuze: Javascript spoiler textu
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Čaute mám ešte jeden problém. Chcel by som ten spoiler upraviť tak, aby
sa vysúval plynule.
Pôvodný kod bol:
<div style="text-align:center">
<button title="Podrobnejší kalendár(kliknite)" type="button" onclick="if(document.getElementById('spoiler') .style.display=='none') {document.getElementById('spoiler') .style.display=''}else{document.getElementById('spoiler') .style.display='none'}">Podrobnejší kalendár</button>
</div>
<br><br>
<div id="spoiler" style="display:none">
<div id=st>
<script language="Javascript">
var d=new Date();
var to=-4-d.getTimezoneOffset()/60;
document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'&images=1&hrams=0"><\/script>');
</script>
</div>
</div>
Skúšal som to cz toggle() v jquery, ale nejde to:
<button>Podrobnejší kalendár</button>
<div id="spoil" style="display:none">
<script language="Javascript">
var d=new Date();
var to=-4-d.getTimezoneOffset()/60;
document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'&images=1&hrams=0"><\/script>');
</script>
</div>
<script>
$( "button" ).click(function() {
$( "spoil" ).toggle( "slow" );
});
</script>
Vopred ďakujem za pomoc!
Tím myslíš styl :
abcefg
na
abc...
abc[ukaž zbytek]
Nebo tak?
// samozřejmě po 25ti znacích
U selectoru spoil ti chybí značka pro id (#). To znamená:
<script>
$( "button" ).click(function() {
$( "#spoil" ).toggle( "slow" );
});
</script>
Áno, presne tak.
Podarilo sa mi už vytvoriť pomale vysúvanie textu, ale stále neviem
vytvoriť tú podmienku(1,2,3,4 Ukaž dalej)
<dl>
<div id="st">
<dt><button href="#">Podrobnejší kalendár</button></dt>
<dd>
<br><br>
<script language="Javascript">
var d=new Date();
var to=-4-d.getTimezoneOffset()/60;
document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'&images=1&hrams=0"><\/script>');
</script>
</dd>
</div>
</dl>
<script>
$(function()
{
$('dd').hide();
$('dt').click(function()
{
var rodic = $(this).parent(),
rodic.find('dd').slideUp();
vyrok.not(':visible').slideDown();
return false;
});
});
</script>
Diki za radu, to prvé riešenie je lepšie. Dalo by sa zmeniť funkcie za nejakú inú funkciu z klasickým slow(zhora-dole, plynule) vysunutím?
Řekněme, že máme nějaký text
Zítra budeme ve škole probírat nové věci v matematice.
To chceme rozdělit tak, že prvních 25 znaků necháme a pro zbytek doplníme 3 tečky, které případně mohou po kliku zobrazit zbytek. Tedy takto:
Zítra budeme ve škole pro...
//bírat nové věci v matematice.
Ty si tedy vezmeš string veta, ten rozdělíš na 25písmen a zbytek. Poté zbytek vložíš do nějaké proměnné, za 25písmen dostadíš element s třídou zobraz - který bude obsahovat 3 tečky a následně také span se třídou skryte, který bude zobrazovat zbytek textu. Po kliknutí na 3 tečky, nebo samozřejmě cokoli co budeš chtít - nějaké tlačítko - se ti zobrazí zbytek.
<p>Zítra budeme ve škole pro<span class="zobraz">...</span><span class="skryte>bírat nové věci v matematice.</span>
Takto nějak bych to udělal.
len pre info existuje este fadeToggle() - dalej fadeTo, fadeOut, slideToggle() - slideDown, slideUp
bohužiaľ neviem o funkcii ktorá si vie rozdeliť text podľa počtu znakov.
a dalši problem je v tom´, že ja ten text ťahám z inej stránky (ešte aj s nastavením časového posunu, pretože to robia Rusi (cca +3 hod od SEČ) - je to kalendár):
<script language="Javascript">
var d=new Date();
var to=-4-d.getTimezoneOffset()/60;
document.write ( '<script language="Javascript" src="http://script.days.ru/calendar.php?tmshift='+to +'&images=1&hrams=0"><\/script>');
</script>
Zobrazeno 10 zpráv z 10.