Autor Zpráva
vodys
Profil
Zdravím.
Potřeboval bych výpomoc od odborníků s vyloučením víkendů.

<div id="volat"></div>
<div id="nevolat"></div>
</div>
<script type="text/javascript">
        function showText() {
            var currentTime = new Date().getHours();
            if (currentTime === 10) {
                document.getElementById("volat").innerHTML = "<span style='margin-left:-7px'><b>tel: +420 123 456 789</b></span><br /><span style='margin-left:-7px'><b>tel: +420 123 456 789</b></span>";
            }
         else {
                document.getElementById("nevolat").innerHTML = "&nbsp;";
            }
        }
        showText();
</script>

Díky scriptu se text zobrazuje pouze od 10:00 do 11:00 každý den.
Nyní ke scriptu potřebuji vyloučit víkendy tak, aby se vždy o víkendu text nezobrazoval.

Děkuji mnohokrát za pomoc :)
NoxOne
Profil
Použij "Date" www.php.net/manual/en/function.date.php
pomocí "W" zjisti den v týdnu a dej si tam podmínku. Tak to dělám já.

:)

PS: Já bych tam necpal "javascript" ale udělal bych to celé přes php.
Daniel47
Profil

Vodys:
Tak jsem ti udělal Vodys kód pro tvůj projekt, měl by fungovat, jak sis přál ty.
Pro informaci je mi 12 let.

Kód pro tvůj projekt:

 <!-- 
 Vytvořil: Daniel 2019
 -->

<!-- 
Jsem se vypíše pomoci <div> text a HTML tágy 
-->

<div id="volat"></div>
<div id="nevolat"></div>

<script>
/* Vytvořil: Daniel 2019 */

/* Vytvořil datum */
var date = new Date();
tyden = new Array("nedele", "pondeli", "utery", "streda", "ctvrtek", "patek", "sobota");
datum = new Date;
with(datum) {
den = getDay();
}

/* Testuje jestli je podmínka splněná */
if((tyden[den] == 'pondeli' | tyden[den] == 'utery' | tyden[den] == 'streda' | tyden[den] == 'ctvrtek' | tyden[den] == 'patek' && 10 >= date.getHours() && 11 >= date.getHours())) {

/* A když je splňená provede tenhle příkaz */
document.getElementById("volat").innerHTML = '<br /><span style="margin-left:-7px"><b>Zavolejte na tenhle telefon tel: +420 123 456 789</b></span>';
            }
         else {

/* A když není splněná provede tohle příkaz */
document.getElementById("nevolat").innerHTML = 'Nevolejte na telefon. Volejte pouze od 10.00 do 11.00 a nevolejte v sobotu a neděli. Děkují za pochopení.';
            }
     </script>    

Budu rád za poděkování.
Trejpa
Profil
vodys:
ukázka

Že je schovávání údajů hloupost, ti vysvětlili jiní minule. V mé ukázce aspoň čísla najdou vyhledávače.

Daniel47:
Proč to dělat jednoduše…

Nejdřív si pojmenuješ čísla dnů, abys mohl kontrolovat výčet slov proti pojmenovaným číslům. Přitom dny nabývají hodnot 0–6. Do podmínky stačí zadat interval všedních dnů 1–5.

Podmínka 10 >= date.getHours() vylučuje podmínku 11 >= date.getHours(), pokud platí první, druhá nemůže nastat; tvoje podmínky platí v čase 0:00–10:59. Správně podle zadání by byl interval hodiny >= 10 && hodiny < 11. Jenže už dopředu víš, že jde o jedinou hodnotu, takže stačí porovnání přímo s ní hodiny == 10.
Daniel47
Profil
Díky za upozornění.
Kajman
Profil
Jen pozor, že javascriptem se takto kontroluje čas na straně návštěvníka. Pokud bude tedy v jiném časovém pásmu, nebo má nepřesný čas na počítači (např. si ho schválně upraví), budou čísla viditelná i mimo chtěný čas z pohledu volaného.
Tomášeek
Profil
Daniel47:
Používej JavaScript!
To jako fakt? A co podle tebe v #1 používá?

Ten kód (hlavně, ze v něm mas xkrat informace o odkazu) je docela drsný. Tos nemyslel vážně, ze ne? A ten odkaz, který chceš s tímto kódem svázat, ten vede k tobě, nebo k někomu, kdo ti přebral holku a chceš mu uškodit?

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