Показать сообщение отдельно
  #13 (permalink)  
Старый 17.01.2010, 18:07
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Можно сказать это первый релиз своего jquery, огромнейшее спасибо Octane.
Так если глянуть ничего сложного, хотя не совсем пока понимаю вот эту строчку
$.any.prototype = $.prototype = {constructor: $};

А так всё нормально. Ещё когда смотришь на jquery знак $ так пугает, думаешь это наверное что-то супер навороченное, а это просто название функции всего навсего.
<html>

<body>
ljkj
<div id=my style="border:5px solid #8899ff">HI</div>
</body>

</html>
<script>
function $$(id) 
{ 
return document.getElementById(id);
}
 
function $(id) 
{
   return new $.any(id);
}
	 
$.any = function (id) 
{
    this.id = id;
};
 
$.any.prototype = $.prototype = {constructor: $};

$.prototype.text = function(data)
{
 var id=this.id;
 $$(id).innerHTML=data;
return this;
}

$.prototype.css = function(property,data)
{
 var id=this.id;
$$(id).style[property]=data;
return this;
}

$.prototype.load = function(data)
{
 var id=this.id;
 var xml;

  if(window.ActiveXObject)
  {
   try
   {
	xml=new ActiveXObject("Microsoft.XMLHTTP");
   }
   catch (e)
   {
	xml=false;
   }
  }
  else
  {
   try
   {
	xml=new XMLHttpRequest();
   }
   catch (e)
   {
	xml=false;
   }
  }

  if(!xml) alert("Error creating the XMLHttpRequest object");

 
  xml.onreadystatechange = function()
  { 
     if(xml.readyState != 4 || xml.readyState==0)
     {   
	$$(id).innerHTML=" <img src='/img/pb.gif'> ";	
     }
     if(xml.readyState == 4)
     {
	if(xml.status == 200)
	{
  	   $(id).text(xml.responseText);
	}	
	else	
	{
	   $(id).text("Error: returned status code " + xml.status + " " + xml.statusText);
						}	
	} 
      }; 
 xml.open("GET", data, true); 
 xml.send(null);
return this;
}

$("my").text("Через 5 секунд суда загрузится другое слово")
setTimeout('$("my").text("Скоро кое что ещё поменятеся")',5000);
setTimeout('$("my").css("border","1px solid #888888")',10000);
</script>

Последний раз редактировалось mycoding, 17.01.2010 в 20:50.
Ответить с цитированием