Ефекта да е на всички обекти..

  • Автор Автор kulov
  • Начална дата Начална дата

kulov

Registered
Здравейте, незнам къкво заглавие да измисля според това, което искам, и затова нека започна с обясненията.. Имам една картинка, която представлява нещо като поле, което динамично се пълни с цвят, според някаква стойност, и отгоре на тази картинка, една друга мъничка картинка, която също се движи според стойноста на една променлива, та ето и картинката да видите за какво става дума.

5edc4aad4b04135c.PNG


Така, както казах, това оранжевото, и това малкото поленце, отгоре, в което пише оценката, тези двете неща се мърдат, и застават на дадена позиция, според стойноста на дадена променлива, всичко добре, но искам по някакъв начин, това чудо, да се появи два пъти, но на двете места с различна оценка, кода съм го направил с функиця и по-точно function(4); и на мястото на 4 се пише оценката, и според тази оценка се определят тези мърдания на картинките. Идеята ми е вместо да правя два отделни кода, едни и същи, само една оценка променена, да си го направя с един код.. В момента се мъча да го направя с масив и цикъл for, но там проблема е, че да речем съм задал две оценки, една 4-ка и една 6-тица, в първата картинак се напълва до кадето трябва за 4-ката, и продължата, докато не стигне и 6-тицата, а пък, там кадето трябва да е 6-тицата си седи празно, и картинката отгоре не мърда .. Ето и по-точно как изглежда

4b0891aa06fab94c.PNG


Та след това дългото слово, ето и кода ..



Код:
	$(function()
	{

	function first(ocenka)
	{
	
	//50,6
	//50

	if (ocenka == 2)
	{
	var animLeft="8.8px";
	var width="58.8px";
	var text="Слаб 2";
	}
	
	if (ocenka == 3)
	{
	var animLeft="67.6px";
	var width="117.6px";
	var text="Среден 3";
	}
	
	if (ocenka == 4)
	{
	var animLeft="117,6px";
	var width="168,2px";
	var text="Добър 4";
	}

	if (ocenka == 5)
	{
	var animLeft="167,6px";
	var width="218,8px";
	var text="Мн.Доб 5";
	}
	
	if (ocenka == 6)
	{
	var animLeft="217,6px";
	var width="296,4px";
	var text="Отличен 6";
	}
	
	$('<div id="first">' + '<div id="top">' + text + '</div><div id="back"><div id="zapulvane"></div></div>' + '<br /><br /><br /></div><br /><br /><br /><br />').appendTo("#all");
	$("#top").animate({marginLeft : animLeft}, 1500);
	$("#zapulvane").animate({width : width}, 1500);
	}


     
    var ocenka=new Array(2);
	ocenka[0]=4;
	ocenka[1]=6;

	for (var i=0; i<=1; i++)
	{
	first(ocenka[i]);
	}
	});
 
Без да съм ти пробвал кода мога да предположа ,че проблема ти идва от ID-тата пробваи някакво др решение.

А въпросите са ми защо изписваш html-a с javascript (по добре него прави така) др ако сайта е динамичен (тоест на php) по добре цялата тази работа е прави на backend ниво няма смисъл с javascript.
 
hpstuff каза:
Без да съм ти пробвал кода мога да предположа ,че проблема ти идва от ID-тата пробваи някакво др решение.

А въпросите са ми защо изписваш html-a с javascript (по добре него прави така) др ако сайта е динамичен (тоест на php) по добре цялата тази работа е прави на backend ниво няма смисъл с javascript.

Къкви ID-та, тук няма id-та, изписвам html кода с javascript, тей като нали искам, едни и същи обекти, да се повтарят два пъти в случая, но с различна оценка и двата .. нали това това е проблема, че те си излизат двата обекта както искам, но само на първият се отразява тази оценка .. тоест нали имам един масив и в този масив съм дефинирал две оценка, едната е 4-ка, другата 6-тица, и вместо на първият елемент да стане 4-ка, а на вторият 6-тица, то всичкото се получава на първият елемент, тоест като стигне до позицията за 4-ка, продължава докато не стане 6-тица, а пък на вторият елемент, точно където трябва да е 6-тицата, изписва си Отличен 6, където трябва, но нито се запълва, нито онова отгоре се мърда.. Погледни картинката ..
 

Back
Горе