ugrás a tartalomhoz

javascript objektum orientált kód próbája

kamba · 2009. Nov. 21. (Szo), 00.29
sziasztok.
A probléma a következő. van egy szkriptem ami diveket villogtat.hogy alakítsam úgy át a scriptet hogy egyszerre több példány is fusson?(tehát egyszerre több divet is villogtasson)(pl a new kulcsszóval)ha jól tudoma (this) szerepe mindig az adott példányon belüli paraméterek miatt kell.kössz ha valki elmagyarázza hogy hogy lessz ebből uj példány.
eddig jutottam de igy is csak egy divet képes villogtatni.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>

<script type="text/javascript" >

Blink = {
villogtat : function(mit,szin1,szin2,interval,szor){
this.jel=0;
this.szamolas=0;
this.object = document.getElementById(mit);
this.szinek=new Array('0','0');
this.szinek[0]=szin1;
this.szinek[1]=szin2;
this.interval = interval;
this.szor = szor;


this.intervalid=setInterval('Blink.villog("'+this.szor+'")',this.interval);
return false;
},
villog : function(szor){
if(this.szamolas<=this.szor)
{
this.jel=(this.jel==0?1:0);
this.object.style.backgroundColor=this.szinek[this.jel];
this.szamolas++;
}
else
{
clearInterval(this.intervalid);
this.jel=0;
this.szamolas=0;
return false;
}
return false;
}
}

</script>
</head>

<body>

<form action="index2.php" method="post" onsubmit="return Blink.villogtat('nr','#ffffff','#00ffcc','500','5')">
<div><label>Name:</label> <input type="text" name="form[name]" /></div>
<div><label>File:</label> <input type="file" name="form[file]" /></div>
<div><input type="submit" value="SUBMIT" /></div>
<div><input type="submit" value="SUBMIT" onclick="return new Blink.villogtat('duma','#ffffff','#00ffcc','500','5')"/></div>
</form>

<hr/>

<div id="nr" ># of submited forms: <span>0</span></div>
<div id="duma">last submit response (generated by form action - index.php file): <pre id="r"></pre></div>

</body>
</html>
 
1

Valami ilyesmi

Poetro · 2009. Nov. 21. (Szo), 02.52
var Blink = function (mit, szin1, szin2, interval, szor) {
  this.jel = 0;
  this.szamolas = 0;
  this.object = document.getElementById(mit);
  this.szinek = new Array('0', '0');
  this.szinek[0] = szin1;
  this.szinek[1] = szin2;
  this.interval = interval;
  this.szor = szor;
};
Blink.prototype.villogtat = function () {
  var that = this;
  this.intervalid = window.setInterval(function () { that.villog(); }, this.interval);
};

Blink.prototype.villog = function () {
  if (this.szamolas <= this.szor) {
    this.jel = (this.jel == 0 ? 1 : 0);
    this.object.style.backgroundColor = this.szinek[this.jel];
    this.szamolas++;
  }
  else {
    clearInterval(this.intervalid);
    this.jel = 0;
    this.szamolas = 0;
    return false;
  }
  return false;
};

window.onload = function () {
  var blink1 = new Blink('nr','#ffffff','#00ffcc',500,5);
  blink1.villogtat();
  var blink2 = new Blink('duma','#ffffff','#00ffcc',500,5);
  blink2.villogtat();
};
És kéretik HASZNÁLNI a kód színezőt.
2

Köszönöm szépen

kamba · 2009. Nov. 21. (Szo), 10.06
köszönöm szépen.a kód tökéletesen működik.Próbálgatom tesztelgetem.