JavaScript

Discussion in 'PHP' started by Djeksan, 19 Apr 2011.

  1. Djeksan

    Djeksan New Member

    Joined:
    17 Apr 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте! Есть код ЯваСкрипта. К то может помочь сделать его рабочим? Переделывать его не надо, а только подправить этот что бы он работал.
    Заранее спасибо.
     
    #1 Djeksan, 19 Apr 2011
    Last edited: 28 Apr 2011
  2. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    2 ошибки:
    нехватает ковычки для конкатенации строк
    Code:
    var x  xstr0 = '<IMG SRC="[COLOR=DarkRed]'[/COLOR] + pict_fHe + '" ' + clinewidth +
    и проблема с document.all не во всех браузерах работает.
     
    _________________________
  3. ride

    ride New Member

    Joined:
    18 Apr 2010
    Messages:
    26
    Likes Received:
    4
    Reputations:
    0
    Code:
    <HTML>    
    <BUTTON onclick = "redraw()">Перерисовать</BUTTON>    
    <SCRIPT>
    document.write("<DIV ID = 'mycurve'>"); 
    
    curve ( "point.jpg" , "80*Math.sin(6/25*x)","80*Math.cos(6/50*x)",100,200,100,6,0);
    
    function redraw()
    {  
    	document.all.mycurve.innerHTML = curve ( "point.jpg" , "60*Math.sin(6/25*x)",  "60*Math.cos(6/25*x)",100,150,100,2,0);    
    }    
    
    function curve(pict_file, yexpr, xexpr, x0, y0, t, n, s)   
    {   
    	if (!yexpr) 
    	{
    		return null;
    	}	
    	if (!xexpr) 
    	{
    		xexpr = "x";
    	}	
    	if (!pict_file) 
    	{
    		pict_file = "point.jpg"; 
    	}	
    	if (!s) { s = 0; }
    	if (!t) { t = 0; }
    	var clinewidth = "";   
    	if (n) 
    	{	
    		clinewidth = "WIDTH='" + n + "' HEIGHT='" + n + "'";
    	}	
    	var xstr0 = "<IMG SRC='"+ pict_file + "' " + clinewidth + " STYLE = 'position: absolute; top:";
    	var xstr = "";  
    	var i = 0;
    	var draw = true;
    	for(var x = 0; x < t; x++) 
    	{
    		if (draw)  
    		{
    			xstr += xstr0 + (y0 + eval(yexpr)) + "; left:" + (x0 + eval(xexpr)) + ";'></img>";
    			if (i > s && s > 0)
    			{  
    				draw = !draw;
    				i = 0;
    			}  
    			i++;
    		}
    		document.write(xstr);
    		//return xstr;
    	}
    }	
    
    </SCRIPT>  
    </DIV>
    </HTML>
    
    
    Вроде бы работает, только я там уменьшил t при вызове функции curve(), а то у меня браузер зависал :D (t - конечная для цикла, чем больше она, там больше картинок будет, и следовательно плавнее линия). И еще, я поменял point.bmp на point.jpg. Если это важно, то там сам поменяешь обратно)).
     
    #3 ride, 19 Apr 2011
    Last edited: 19 Apr 2011