Oldal: 1 / 3 123 UtolsóUtolsó
Eredmény: 1 - 10 (30) összesen

Téma: Egyszerű script készítés - help!

  1. #1
    Új tag
    Csatlakozott
    08-08-02
    Hozzászólás
    17
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás Egyszerű script készítés - help!

    Sziasztok!

    Egy profi számára nyilván pofonegyszerű script készítéséről lenne szó.

    Borzasztóan amatőr vagyok, ami remélhetőleg egy múló állapot, s bár számomra a téma nem túl érdekes, így nehezebben elsajátítható, valamint a szabadidővel is hadilábon állok, mégis igyekszem utána járni (ennek is).

    Nos egy - ahogy már említettem - nagyon egyszerű scriptet szeretnék, melynek a funkciója röviden annyi lenne, hogy múltbéli események évfordulójakor kiírja az előre meghatározott információkat. Példaként bármit elképzelhetünk - számomra az, hogy az eseményen kívül automatikusan kiírja az évforduló számát, már roppant bonyolult -, így én abból indultam ki, mint egy alapvető naptár, ami a névnapokat jelzi.

    Megpróbáltam tehát önerőből elkészíteni, vagy legalábbis elkezdeni. Első lépésként kerestem egy naptár-scriptet, tanulmányoztam, de hátha tud valaki jobb, egyszerűbb megoldást, főleg ha abszolút rossz irányban indultam.

    Íme az én elképzelésem konkrétabban:

    Kód:
    <script language="JavaScript">
    function initArray() {
    this.length = initArray.arguments.length
    for (var i = 0; i < this.length; i++)
    this[i+1] = initArray.arguments[i]
    }
    
    function esemeny(ev,ho,nap) {
    if (ho==1)
    { var napok = new initArray("XY esemény","[ugye ahol semmi, ott semmi]","",...) }
    if (ho==2)
    if ((ev!=20012) && (ev!=2008) && ev!=2004)
    { var napok=new initArray(...) }
    else
    { var napok=new initArray([itt ugye a plusz egy napot is be kell számítani]) }
    [és így tovább a hónapok-események]
    Nos, eddig elég egyértelmű volt számomra. Gondolom attól független, hogy hány esemény van adott hónapban, az összes napot jelölni kell ("").

    Amennyiben az eddigi irányvonal jó, akkor már csak a script végét kérném, én itt már még jobban elakadtam, s erre jutottam:

    Kód:
    document.writeln(" " +",<font color=#701634> "
    +havinev(ev,ho,nap)+"</font>")
    </script>
    Nos, ennyit szerencsétlenkedtem, remélem valaki segítségemre "siet". Előre is köszönöm mindenkinek!

    Üdv: Toni Torres



  2. #2
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: Egyszerű script készítés - help!

    van valamilyen ok arra hogy js-el akarod megvalositani? csak mert a php sokkal rugalmasabb es azzal egyszerubb lenne(bar nem is teljesen ertem amit akarsz )


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Ruby blog
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  3. #3
    In love with pixels hápi logója
    Csatlakozott
    09-03-10
    Hely
    Budapest
    Hozzászólás
    353
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Egyszerű script készítés - help!

    HTML kód:
    <html>
    <head>
    <title>Emlékeztető</title>
    <script type="text/javascript">
    var arrBday = [
      ['Kovács béla ezen a napon lenne 1000 éves', '5/6'],
      ['Lorem ipsum dolor sit amet', '5/31'],
      ['Vecturum Varalis', '5/30'],
      ['Domec', '5/28'],
      ['John Doe4', '5/27'],
      ['John Doe5', '5/18'],
      ['John Doe6', '5/20'], 
      ['John Doe7', '5/19']
    ];
    
    function getBdaysThisWeek(){
      var arrMonth = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
      var bday, idx;
      var bdayList = new Array();
      var today = new Date();
    
      for (var i=0;i<arrBday.length;i++){
        var bday = new Date(arrBday[i][1] + '/' + today.getFullYear());
        if (isNaN(bday)) continue;
    
        if ( isBdayInRange(bday, 7) ){
           idx = bdayList.length;
           bdayList[idx] = new Object();
           bdayList[idx].name = arrBday[i][0];
           bdayList[idx].bday = bday;
           bdayList[idx].month = arrMonth[bday.getMonth()];      
        }
      }
      if (bdayList.length > 0){ //sort asc by birthdate
         bdayList.sort(
           function(a, b){
             if (a.bday < b.bday) return -1
             if (a.bday > b.bday) return 1;
             return 0;
           }
         );
      }
      return bdayList;
    }
    
    function isBdayInRange(bday, interval){
    
      var today = new Date(); 
      today.setHours(0,0,0,0);
    year
      if (bday < today)
        bday.setFullYear(bday.getFullYear() + 1);
      
    
      var iDiffMS = bday.valueOf() - today.valueOf();
    
      nDays = parseInt(iDiffMS / 1000 / 60 / 60 / 24);
      
      if(parseInt(nDays) <= parseInt(interval))
        return true;
      else
        return false;
    }
    
    function displayBdayList(){
      var date = new Date().getDate();	
      var bdayList = getBdaysThisWeek();
      var len = bdayList.length;
      var s = "<h1>Birthday Celebrants for this week:</h1>";
      if (len>0){
        s += '<ul>';
        for (var i=0; i<len; i++){
    
    		s += '<li' + ((date == bdayList[i].bday.getDate())?' class="bdayToday"':'')+ '>\
    					<strong>' + bdayList[i].name + '</strong> - ' 
    					+ bdayList[i].month + ' ' + bdayList[i].bday.getDate() + '</li>';       
        }
        s += '</ul>';
      }
      else{
        s += "Ma semmi érdekes sem történt";
      }
      document.write(s);
    }
    </script>
    <style type="text/css">
    body {
      font:14px Verdana;
    }
    .bdayToday {
      color: red;
    }
    </style>
    </head>
    <body>
    <script type="text/javascript">
    displayBdayList();
    </script>
    </body>
    </html>
    Na egy kis guglizással sikerült egyet találnom. Azt hiszem év-szerint nem tud, mert elvileg ez egy szülinapokat kiíró programocska, a fontosabb részekhez írtam magyarul.



  4. #4
    Új tag
    Csatlakozott
    08-08-02
    Hozzászólás
    17
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Egyszerű script készítés - help!

    Sziasztok!

    Geri! Nem, sajnos js lenne az igazi. Egyébként konkrétan egy sportklub oldalához szeretném, hogy a látogatók egyszerű módon értesüljenek az egyes évfordulókról, s így méltóképp meg tudjanak emlékezni a nagy eseményekről, vagy emblematikus figurákról.

    Hápi! köszönöm szépen a mellékelt scriptet! Ez jónak tűnik, s tesztelem is a minap folyamán! Elnézést a botor kérdésért.



  5. #5
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: Egyszerű script készítés - help!

    ha nem jo a hapi altal irt akkor irj es segitek



  6. #6
    Moderátor sZeKo logója
    Csatlakozott
    09-07-01
    Hely
    Budapest
    Hozzászólás
    1.379
    Begyűjtött 65 köszönetet
    39 hozzászólásával

    Alapbeállítás re: Egyszerű script készítés - help!

    Idézet torrestoni eredeti hozzászólása Hozzászólás megtekintése
    Sziasztok!

    Geri! Nem, sajnos js lenne az igazi. Egyébként konkrétan egy sportklub oldalához szeretném, hogy a látogatók egyszerű módon értesüljenek az egyes évfordulókról, s így méltóképp meg tudjanak emlékezni a nagy eseményekről, vagy emblematikus figurákról.

    Hápi! köszönöm szépen a mellékelt scriptet! Ez jónak tűnik, s tesztelem is a minap folyamán! Elnézést a botor kérdésért.
    Hogyha fontos neked ez a rész, akkor szerintem se js -re bízd. Sok variáció létezik, amikor a js nem hajlandó megszólalni, böngészők, configok... És is a php -t javaslom, ha "jól akarsz aludni". És nagy szerencséd van, hogy Geri a segítségét ajánlotta, mert nagy php mester.


    sZeKo



  7. #7
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: Egyszerű script készítés - help!

    koszonom a dicseretet. a php-t en inkabb azert javasolnam ez esetben mert a js date object-je az eleg gyenge es ezert sokkal hosszabb koddal tudod ugyanazt megcsinalni mint php-vel.



  8. #8
    kow
    kow nem elérhető
    KowDerMei$ter kow logója
    Csatlakozott
    07-05-09
    Hely
    Budapest
    Hozzászólás
    1.447
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Egyszerű script készítés - help!

    A JS tökéletes erre a célra:
    PHP kód:
    var maObj = new Date();
    var 
    nap maObj.getUTCDate();
    var 
    ho maObj.getMonth()+1;

    // a tömb első eleme a hónap, második a nap.
    var esemenyek = [
         [ 
    1,1,'Szülinapom van' ],
         [ 
    1,7,'Szülinapom van nekem is' ],
         [ 
    9,15,'bumm' ]
    ];

    for( 
    i=0;i<esemenyek.length;i++)
    {
        if( 
    esemenyek[i][0] == ho && esemenyek[i][1] == nap )
        {
            
    alertesemenyek[i][2] );
        }

    Ha be szeretnéd írni az üzenetet valahova, akkor adj egy ID-t a cél DIV-nek, vagy valami node-nak, majd cseréld az alert-et erre:
    PHP kód:
    document.getElementById'cel_id' ).innerHTML esemenyek[i][2]; 



    Utoljára módosítva: kow által : 2009-09-15 17:21

  9. #9
    Bölcs
    Csatlakozott
    09-04-30
    Hely
    A Dél-Alföld közepe...
    Hozzászólás
    1.523
    Thanked 1 Time in 1 Post

    Alapbeállítás re: Egyszerű script készítés - help!

    Elakadtam

    Az Ajax-szal most ismerkedem, lényegében első Ajax szkriptemet csináltam meg tutorialból egy oldalamon, ami egy div tartalmát frissíti, lefuttatva a háttérben egy php szkriptet, ami adatbázisból kér le adatokat.

    A szkriptem működik, azaz megcsinálja, amit kell. Azaz, mégsem teljesen.

    A szkriptet egy Joomla oldalamra építettem be, és egy jobboldali sidebar-ban lévő modul tartalmát gombnyomásra.

    Ez tökéletesen működik minden oldalon, ahol tartalom van, de a képgalériánál (PhocaGallery), ahol highslide.js is van a háttérben, ott összeomlik. Az adott div-be nem a response text-et tölti be, hanem betölti az egész oldal tartalmát, és ettől szétesik az egész.

    Ez lenne a szkriptem:

    Kód:
    function ajaxFunction()
    	{
    		var xmlhttp;
    		if (window.XMLHttpRequest)
    		  {
    		  xmlhttp=new XMLHttpRequest();
    		  }
    		else
    		  {
    		  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    		  }
    		xmlhttp.onreadystatechange=function()
    		{
    		if(xmlhttp.readyState==4)
    		  {
    		  document.getElementById("div1").innerHTML=xmlhttp.responseText;
    		  }
    		}
    		xmlhttp.open("GET","ajax.php",true);
    		xmlhttp.send(null);		
    	}
    Miért van az, hogy az egész csak azokon az oldalakon nem működik, ahol a highslide.js is betöltődik?
    Összeakadhat a két szkript? Ha igen, miért?



  10. #10
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.744
    Begyűjtött 1.428 köszönetet
    892 hozzászólásával

    Alapbeállítás re: Egyszerű script készítés - help!

    valószínű a hivás 404-re fut ami nlad atirányít a főoldalra és ezért tölti be a teljes oldal tartalmat. én a helyedben használnék valamilyen frameworkot mert azzal könnyedén tudsz cross-browser ajax kéréseket végezni



Oldal: 1 / 3 123 UtolsóUtolsó

A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •