Показать сообщение отдельно
  #1 (permalink)  
Старый 06.03.2009, 02:13
Аспирант
Отправить личное сообщение для grusha Посмотреть профиль Найти все сообщения от grusha
 
Регистрация: 01.03.2009
Сообщений: 55

Как объединить в одну функцию?
Может кто-то подскажет как обединить этот код в один запрос и возможно ли это вообще
Есть такой код:
jQuery('#link_unvote a').click(function(event) {
		
		var href_link = jQuery(this).attr('href');
		var title_link = jQuery(this).attr('title');
		var link_this = this;
		var re = /^(\w+)\(([^)]*)\)$/;
		var found = href_link.match(re);
		var splits = found[2].split(',');
		var el9 = splits[3].replace(/('|")/g,'');
		vote(splits[0], splits[1], splits[2], el9, splits[4], link_this,title_link);
		return false;
});
	
	jQuery('.vote_button').click(function(event) {
										
		var href_link = jQuery(this).attr('href');
		var title_link = jQuery(this).attr('title');
		var link_this = this;
		var re = /^(\w+)\(([^)]*)\)$/;
		var found = href_link.match(re);
		var splits = found[2].split(',');
		var el9 = splits[3].replace(/('|")/g,'');
		vote_news(splits[0], splits[1], splits[2], el9, splits[4], link_this,title_link);
		return false;
		
	
 

  });

 
		
	function vote_news(user, id, htmlid, md5, value, link_this,title_link) {
		
		jQuery.ajax({
			url: "/vote.php",
			data: "id=" + id + "&user=" + user + "&md5=" + md5 + "&value=" + value,
			type:'POST',
			  success: function(aws){
				split = new RegExp ("~--~");
				if (aws.match (split)) {
				b = aws.split (split);
				jQuery(link_this).parent().parent("div").find("#xvotes").html(b[0]).end().find(".vote_img").html("<span class='vote_text_small'>Plus</span>").parents(".stories").find("#linksummaryBury").fadeOut(3000);
				} else {
				errormatch = new RegExp ("^ERROR:");
				aws = aws.substring (6, aws.length);
				jQuery(link_this).parent().parent("div").find(".information_box").show().html(aws).fadeOut(3000);
				}
				
			 },
			 error: function (aws){
			 }
		});
	}
		
	function vote(user, id, htmlid, md5, value, link_this,title_link) {
		
		jQuery.ajax({
			url: "/vote.php",
			data: "id=" + id + "&user=" + user + "&md5=" + md5 + "&value=" + value,
			type:'POST',
			 success: function(aws){
				 
				split = new RegExp ("~--~");
				if (aws.match (split)) {
				b = aws.split (split);
				
				jQuery(link_this).parent().parent("div").find("#linksummaryBury").fadeOut(3000).end().parent().parent("div").find(".vote_img").html("<span class='vote_text_small'>Delete</span>");
				} else {
				errormatch = new RegExp ("^ERROR:");
				aws = aws.substring (6, aws.length);
				jQuery(link_this).parent().parent("div").find(".information_box").show().html(aws).fadeOut(3000);
				}
				 
			
			 },
			 error: function (aws){
			 }
		});
	}


т.е. код идентичен за исключением этих строчек:
jQuery(link_this).parent().parent("div").find("#linksummaryBury").fadeOut(3000).end().parent().parent("div").find(".vote_img").html("<span class='vote_text_small'>Delete</span>");

jQuery(link_this).parent().parent("div").find("#xvotes").html(b[0]).end().find(".vote_img").html("<span class='vote_text_small'>Plus</span>").parents(".stories").find("#linksummaryBury").fadeOut(3000);


Получается из-за двух строчек , так много повторяющегося кода
Ответить с цитированием