We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Problem z efektem Fadingu


K@iTO
08-12-2006, 09:21
Kod:
echo "";
Tak wydlada moj wpis jesli mam cos takiego uruchamiac.

1. sprawdz czy w katalogu twojego theme znajduje się ten js
2. sproboj includa
3. czasami jesli theme.php wykożystuje inne js to niestety moze nie ruszyc twojego... tak jest przy php-fusion. Wiem bo tak mialem

sofpl
13-11-2006, 21:52
Sorry za podwójny post, ale w tamtym już się nie zmieściło..
A tu plik theme.php z tego niedziałającego stylu:
Kod:
";
echo "
\n"; $result = dbquery("SELECT * FROM ".DB_PREFIX."site_links WHERE link_position>='2' ORDER BY link_order"); if (dbrows($result) != 0) { $i = 0; while($data = dbarray($result)) { if (checkgroup($data['link_visibility'])) { if ($data['link_url']!="---") { if ($i != 0) { echo " ·\n"; } else { echo "\n"; } $link_target = ($data['link_window'] == "1" ? " target='_blank'" : ""); if (strstr($data['link_url'], "http://") || strstr($data['link_url'], "https://")) { echo "".$data['link_name'].""; } else { echo "".$data['link_name'].""; } } $i++; } } } echo ($i == 0 ? " " : "")." ".ucwords(showdate("%A, %B %d, %Y", time()))."
\n"; } function render_footer($license=false) { global $theme_width,$settings,$locale; echo "
".stripslashes($settings['footer'])."
\n"; } function render_news($subject, $news, $info) { global $locale; echo "
$subject
$news
\n"; } function render_article($subject, $article, $info) { global $locale; echo "
$subject
".($info['article_breaks'] == "y" ? nl2br($article) : $article)."
\n"; } function opentable($title) { echo "
$title
\n"; } function closetable() { echo "
\n"; } function openside($title) { echo "
$title
\n"; } function closeside() { echo "
\n"; } function opensidex($title,$open="on") { $boxname = str_replace(" ", "", $title); $box_img = $open == "on" ? "off" : "on"; echo "
$title $box_img:flipBox('$boxname')\">
\n"; } function closesidex() { echo "
\n"; } function tablebreak() { echo "
\n"; } ?>

sofpl
13-11-2006, 21:51
Jak w temacie, skrypt jest w java script, wziąłem go z jakiegoś stylu do php-fusion (plik o nazwie grade.js) i problem w tym, że nie chce działać na innym stylu o nazwie Sunset, a na innych (próbowałem) działa. Robie tak: kopiuję takie coś:
Kod:
echo "";
z działającego pliku theme.php, po czym wklejam do theme.php, w którym chcę mieć ten efekt, i potem jeszcze kopiuję plik grade.js dołączony do tego działającego stylu i... a:hover się nie zmienia.. A tak jak mówiłem próbowałem na innych stylach tą samą metodą i działało.. Proszę o pomoc.

Oto ten skrypt:
Kod:
/******************************************************************* 
* File    : LinkFader.js  © JavaScript-FX.com
* Created : 2002/09/05 
* Author  : Roy Whittle  (Roy@Whittle.com) www.Roy.Whittle.com 
* Purpose : To create a more dynamic a:hover using fading
* History 
* Date         Version        Description 
* 2002-09-05	1.0		First version
***********************************************************************/
/*** Create some global variables ***/
if(!window.JSFX)JSFX=new Object();

var LinkFadeInStep=20;
var LinkFadeOutStep=5;
var LinkEndColor="ff0000"

var LinkStartColor="FFFFFF";
var LinkFadeRunning=false;

document.onmouseover = theOnOver;
document.onmouseout  = theOnOut;
if(document.captureEvents)
    document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);

/***********************************************
*
* Function    : getColor
*
* Parameters  :	start - the start color (in the form "RRGGBB" e.g. "FF00AC")
*			end - the end color (in the form "RRGGBB" e.g. "FF00AC")
*			percent - the percent (0-100) of the fade between start & end
*
* returns	  : color in the form "#RRGGBB" e.g. "#FA13CE"
*
* Description : This is a utility function. Given a start and end color and
*		    a percentage fade it returns a color in between the 2 colors
*
* Author	  : www.JavaScript-FX.com
*
*************************************************/
function hex2dec(hex){return(parseInt(hex,16));}
function dec2hex(dec){return (dec < 16 ? "0" : "") + dec.toString(16);} 
function getColor(start, end, percent)
{

	var r1=hex2dec(start.slice(0,2));
	var g1=hex2dec(start.slice(2,4));
	var b1=hex2dec(start.slice(4,6));

	var r2=hex2dec(end.slice(0,2));
	var g2=hex2dec(end.slice(2,4));
	var b2=hex2dec(end.slice(4,6));

	var pc=percent/100;

	var r=Math.floor(r1+(pc*(r2-r1)) + .5);
	var g=Math.floor(g1+(pc*(g2-g1)) + .5);
	var b=Math.floor(b1+(pc*(b2-b1)) + .5);

	return("#" + dec2hex(r) + dec2hex(g) + dec2hex(b));
}
/************************************************/
JSFX.getCurrentElementColor = function(el) 
{ 
	var result = LinkStartColor;

	if (el.currentStyle) 
		result = (el.currentStyle.color); 
	else if (document.defaultView) 
		result = (document.defaultView.getComputedStyle(el,'').getPropertyValue('color'));
	else if(el.style.color) //Opera
		result = el.style.color;

	if(result.charAt(0) == "#")      //color is of type #rrggbb
		result = result.slice(1, 8);
	else if(result.charAt(0) == "r") //color is of type rgb(r, g, b)
	{
		var v1 = result.slice(result.indexOf("(")+1, result.indexOf(")") );
		var v2 = v1.split(",");
		result = (dec2hex(parseInt(v2[0])) + dec2hex(parseInt(v2[1])) + dec2hex(parseInt(v2[2])));
	}

	return result;
} 
JSFX.findTagIE = function(el)
{
      while (el && el.tagName != 'A')
            el = el.parentElement;
	return(el);
}
JSFX.findTagNS= function(el)
{
      while (el && el.nodeName != 'A')
            el = el.parentNode;
	return(el);
}
function theOnOver(e)
{
	var lnk;
	if(window.event)
		lnk=JSFX.findTagIE(event.srcElement);
	else
		lnk=JSFX.findTagNS(e.target);

	if(lnk)
		JSFX.linkFadeUp(lnk);
}
JSFX.linkFadeUp = function(lnk)
{
	if(lnk.state == null)
	{
		lnk.state = "OFF";
		lnk.index = 0;
		lnk.startColor = JSFX.getCurrentElementColor(lnk);
		lnk.endColor = LinkEndColor;
	}

	if(lnk.state == "OFF")
	{
		lnk.state = "FADE_UP";
		JSFX.startLinkFader();
	}
	else if( lnk.state == "FADE_UP_DOWN"
		|| lnk.state == "FADE_DOWN")
	{
		lnk.state = "FADE_UP";
	}
}
function theOnOut(e)
{
	var lnk;
	if(window.event)
		lnk=JSFX.findTagIE(event.srcElement);
	else
		lnk=JSFX.findTagNS(e.target);

	if(lnk)
		JSFX.linkFadeDown(lnk);
}
JSFX.linkFadeDown = function(lnk)
{
	if(lnk.state=="ON")
	{
		lnk.state="FADE_DOWN";
		JSFX.startLinkFader();
	}
	else if(lnk.state == "FADE_UP")
	{
		lnk.state="FADE_UP_DOWN";
	}
}
JSFX.startLinkFader = function()
{
	if(!LinkFadeRunning)
		JSFX.LinkFadeAnimation();
}
/*******************************************************************
*
* Function    : LinkFadeAnimation
*
* Description : This function is based on the Animate function
*		        of animate.js (animated rollovers).
*		        Each fade object has a state. This function
*		        modifies each object and changes its state.
*****************************************************************/
JSFX.LinkFadeAnimation = function()
{
	LinkFadeRunning = false;
	for(i=0 ; i 100)
					lnk.index = 100;
				lnk.style.color=getColor(lnk.startColor, lnk.endColor, lnk.index);

				if(lnk.index == 100)
					lnk.state="ON";
				else
					LinkFadeRunning = true;
			}
			else if(lnk.state == "FADE_UP_DOWN")
			{
				lnk.index+=LinkFadeOutStep;
				if(lnk.index>100)
					lnk.index = 100;
				lnk.style.color=getColor(lnk.startColor, lnk.endColor, lnk.index);

				if(lnk.index == 100)
					lnk.state="FADE_DOWN";
				LinkFadeRunning = true;
			}
			else if(lnk.state == "FADE_DOWN")
			{
				lnk.index-=LinkFadeOutStep;
				if(lnk.index<0)
					lnk.index = 0;
				lnk.style.color=getColor(lnk.startColor, lnk.endColor, lnk.index);
	
				if(lnk.index == 0)
					lnk.state="OFF";
				else
					LinkFadeRunning = true;
			}
		}
	}
	/*** Check to see if we need to animate any more frames. ***/
	if(LinkFadeRunning)
		setTimeout("JSFX.LinkFadeAnimation()", 40);
}