Autor Zpráva
l1v3
Profil
Při zpracování BB značek došlo k samovolnému sežrání celého příspěvku. Pardon.
Zdravím,
k mému problému. Jak můžete na originálním obrázku vidět, dny tam jdou od neděle do soboty. Když jsem si to přepsal do češtiny podle sebe (pondělí-neděle), tak to logicky ukazuje den napřed. Dnes je úterý, ale na lock screenu to ukazuje středu. Proto bych potřeboval pomoct s přepsáním kódu.. Snažil jsem se to tam všude možně najít a opravdu už nevím co bych měl přepsat.

Takhle vypadá originál

Takhle moje momentální úprava





díky všem.


function calendarDate ( )
{
  var this_date_name_array = new Array("00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19.","20","21","22","23","24","25","26","27","28","29","30","31")
  var this_weekday_name_array = new Array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
  var this_month_name_array = new Array("January","Únor","March","April","May","June","July","August","September","October","November","December")    //predefine month names

  var this_date_timestamp = new Date()      
  var this_weekday = this_date_timestamp.getDay()    
  var this_date = this_date_timestamp.getDate()    
  var this_month = this_date_timestamp.getMonth()  
  var this_year = this_date_timestamp.getYear()     

if (this_year < 1000)
    this_year+= 1900;
if (this_year==101)
    this_year=2001;      

document.getElementById("date").firstChild.nodeValue = this_date_name_array[this_date] //concat long date string
document.getElementById("month").firstChild.nodeValue = this_month_name_array[this_month] +" "  //concat long date string
}
// -->

</script>

</head>

<body>

    <table style="position: absolute; top: 85px; left: -46px; width: 320px; height: 480px; z-index: 8;">
    <tr align="center" valign="top" border="0" cellpadding="0">
       <td height="12" valign="top" margin-left="0" >
       <span id="hours">
    <script language="JavaScript">updateClock(); setInterval('updateClock()', 1000 )</script>
    </span> </span>
       </td>
    </tr>
    </table>

    <table style="position: absolute; top: 85px; left: 48px; width: 320px; height: 480px;z-index: 8;">
    <tr align="center" valign="top" border="0" cellpadding="0">
       <td height="12" valign="top" margin-left="0" >
       <span id="mins">
    <script language="JavaScript">updateClock(); setInterval('updateClock()', 1000 )</script>
    </span>
       </td>
    </tr>
    </table>

       <table style="position: absolute;top: 168px; left: 77px; width: 320px; height: 480px;z-index: 8;">
       <tr align="center" valign="top" border="0" cellpadding="0">
       <td height="12" valign="top" margin-left="0" >
       <span id="ampm">
       <script language="JavaScript">amPm(); setInterval('amPm()', 1000 )</script>
       </span>
       </td>
    </tr>
    </table>

<table style="position: absolute; top: 168px; left: 72px; width: 320px; height: 480px;z-index: 8;">
<tr align="left" valign="top"  border="0" cellpadding="0">
    <td height="12" valign="top" margin-left="20" >
<span id="month"> <span id="date">
<script language="JavaScript">calendarDate(); setInterval('calendarDate()', 1000 )</script>
    </span>
    </td>
</tr>
<tr></table>
</body></html>



<html><head>
<style>

    .CalendarWidget
{
    position: absolute; top: 64px; left: 5px; width: 320px; height: 480px; z-index: 8; text-align:center;
}

    .main 
{
    color: rgba(209, 209, 209, 1);
    font-family:Helvetica;
    font-size:11px;
    background-color:transparent;
}

    #main td 
{
    border:1px solid #98bf21;
}

    #main tr 
{
    font-size:10px;

}

    .month 
{
    display: none;
}

    .year 
{
    display: none;
}

    #daysofweek 
{
    color: white;
    text-shadow: 0px 0px 2px black;
    font: 11px "Default";
    padding: 0 2px;
    opacity: 0.5;
       text-transform: uppercase;
}

    #days 
{
    display: none;
}

    #today
{
    color: red;
    text-shadow: 0px 0px 2px red;
    font: 11px "Default";
    font-weight: 100;
    padding: 0 2px;
       text-transform: uppercase;
}

</style>

<!---------------------------------------------------------------------------------------------------------------->

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="refresh" Content="3600">
<script>
function buildCal(m, y, cM, cH, cDW, cD){
var this_weekday_name_array = new Array("Po","Ut","St","Ct","Pa","So","Ne")
var this_weekday_name2 = ["Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"];
var mn=['January','Únor','March','APril','May','June','July','August','September','October','November','December'];
var dim=[31,0,31,30,31,30,31,31,30,31,30,31];
var oD = new Date(y, m-1, 1); //DD replaced line to fix date bug when current day is 31st
oD.od=oD.getDay()+1; //DD replaced line to fix date bug when current day is 31st
var todaydate=new Date() //DD added
var this_weekday = todaydate.getDay()
var this_month = todaydate.getMonth()
var this_date = todaydate.getDate()
var this_year = todaydate.getYear()
if (this_year < 2000){this_year = this_year + 1900;}
dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;

var t = '';
days_TM=dim[this_month];
if (this_month==0)
    days_PM=dim[11];
else
    days_PM=dim[this_month-1];
if (this_month==11)
    days_NM=dim[0];
else
    days_NM=dim[this_month+1];
k=0;
do{
    k2=this_date-k;
    if(k2<=0)
        wkstart=days_PM+k2;
    else
        wkstart=k2;
    k++;
}
while(k<=this_weekday)
for (s=0;s<7;s++){
    if (s==this_weekday){
        t+='<span id="today">'+this_weekday_name_array[s]+'</span>';
       }
    else{
        t+='<span id="daysofweek">'+this_weekday_name_array[s]+'</span>';
    }
}
    t+='<span id="daysofweek"></span>';//<span id="today">'+this_date+'</spean>';
for (L=0;L<this_weekday;L++){
    L2=L+wkstart;
    if(L2>days_PM) L2=L2-days_PM;
    if(L2==this_date) t+='<span id="today">'+L2+'</span>';
}
t+='<div class="month">'+mn[this_month]+'</div>';
t+='<div class="year">'+this_year+'</div>';
return t;
}
</script>
<body>
<!-- Calendar Code -->
<!--<table><tr><td id="CalendarWidget">-->
<div class="CalendarWidget">
<script type="text/javascript">
    var todaydate=new Date(); 
    var curmonth=todaydate.getMonth()+1; 
    var curyear=todaydate.getFullYear();
    document.write(buildCal(curmonth ,curyear, "main", "month", "daysofweek", "days"));
</script>
</div>
</body></html>
Camo
Profil
l1v3:
fcia getDay vracia číslo od 0-6. Takže vždy sa bude v pondelok vracať 1.
Keďže si to prepísal, tak 1 = utorok a preto to máš o deň dopredu. Takže musíš v tej funkcii odrátať 1.
l1v3
Profil
Camo:
Ahoj,
děkuji za odpověď. Mohl by jsi mi s tím, prosím, pomoct? Zkoušel jsem to, ale v js se vůbec nevyznám. Díky
Joker
Profil
l1v3:
A s čím vlastně chcete pomoct?
Ano, když neděli dáte popisek „pondělí“, pondělku „úterý“, úterku „středa“ a tak dále, bude zobrazený den oproti reálu o jeden posunutý.
l1v3
Profil
Jo, to chápu. Chci, aby se to zobrazovalo česky. Tzn. od pondělí-neděle a ne tak, jak to mají v Americe tzn. neděle-sobota. Dokázal by to někdo udělat tak? To mi došlo, že pouhým přepsáním názvů tomu nepomůžu :)
Joker
Profil
l1v3:
Aha.
Tak řádek 7:
  var this_weekday = this_date_timestamp.getDay()    
změňte na:
  var this_weekday = (this_date_timestamp.getDay() + 1) % 7
…a dny uveďte od pondělka.
Camo
Profil
Máš tam premenná this_weekday a od tej treba odčítať 1. Ak to neovplyvní niečo ďalšie, tak by to malo fungovať.

PS:Máš tam nejaký /spean na riadku 184.
l1v3
Profil
Děkuji za pomoc, bohužel to pořád ukazuje středu. Viz. obrázek výše

edit: ten kód jsem nepsal já, to bych nezvládl. Spean jsem opravil, nicméně to stejně nic nevyřešilo.
Camo
Profil
Mne to vypisuje utorok. Ale buď tej lásky a ten kód sem nakopíruj normálne, nie piate cez deviate.
riadok cca 150.
var this_weekday = (todaydate.getDay())-1
Evidentne ten riadok pracuje s inou premennou ako sme ti radili, lebo si to tak krásne pozliepal....
l1v3
Profil
Camo:
Paráda, už to vypisuje úterý. Tvůj kód fungoval, ten od Jokera nic nedělal. Přesto děkuji velmi oběma za pomoc. Už by to mělo jít správně.

Jinak k tomu kódu. Já ho nepsal, takže jsem ho poslal tak, jak jsem ho stáhl akorát bez css stylu co tam byl nad tím, protože by to bylo zbytečné a hlavně se ten celý kód sem dát nechtěl, nevim proč. Toť jen pro vysvětlení. Ještě jednou děkuji moc. :)


Ještě jedna taková věc, na kterou jsem přišel. Přepisoval jsem názvy dnů s diakritikou a místo ČT mi to vypisuje ÉT. Tzn. někde bude chyba. Font jsem kontroval a háčky a čárky podporuje..

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Charset jsem zkoušel různě měnit na všechny možné a nic to nevyřešilo. Napadá vás, kde by mohla být chyba? Není to tak nutné, abysme na to přišli, ale když už tu to téma mám, tak se zeptám.
Joker
Profil
Camo [#9]: Tohle nebude fungovat v neděli.

l1v3:
Aha, tak oprava, nemá se změnit řádek 7, ale řádek 149.
vymazáno

edit:
Ehm, tak samozřejmě to není správně. Pole musí jít od pondělí a dny musí být o jeden zpátky, aby to bylo správně.
var this_weekday = (todaydate.getDay()+6) % 7;
Tak teď už snad.
Camo
Profil
Ešte by sa to dalo riešiť tak, že by sa poradie zachovalo od nedele, ale na koniec by sa pridala ešte jedna neďeľa a výpis toho poľa by sa pre zmenu robil od druhého prvku.
Ale to je len taká úvaha a ani neviem, či by to v danom kóde fungovalo....
L1v3
Profil *
Ano, v neděli to opravdu nefungovalo. Teď už ano :) děkuji ještě jednou. Sice v neděli se to označí světle červeně a ne červeně jako v jiných dnech, ale snad to nějak dokážu opravit sám

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: