ancre et classe spécifique

Petit nouveau ! | 4 Messages

24 nov. 2010, 11:35

Bonjour à tous,
Je suis graphiste et je travaille actuellement sur mon portfolio. J'utilise un cms (indexhibit) pour développer mon site.
J'ai bidouillé un plugin, mais j'arrive à mes limites ! Je suis débutant.
Pourtant j'y suis presque.....
Le plugin permet en cliquant sur une image de passer à la suivante en scroll animé. Lorsque qu'on arrive à la dernière, le click renvoie directement à la première image. Jusqu'a la no problemo , ça marche !
Mon problème :
Je souhaiterai que lorsque on click sur la dernière image, elle pointe sur une div (#frametop) située tout en haut et non pas à la première image. Je souhaiterai également que cette dernière image ai une classe spécifique (.nothumb-top).
Je suis en panne et si quelqu'un peut me filer un coup de main pour terminer mon site , je lui en serais vraiment reconnaissant :)
voicic mon code :
<?php if (!defined('SITE')) exit('No direct script access allowed');

// defaults from the general libary - be sure these are installed
$exhibit['dyn_css'] = dynamicCSS();
$exhibit['exhibit'] = createExhibit();

function createExhibit()
{
	$OBJ =& get_instance();
	global $rs;
	
	$pages = $OBJ->db->fetchArray("SELECT * 
		FROM ".PX."media, ".PX."objects_prefs 
		WHERE media_ref_id = '$rs[id]' 
		AND obj_ref_type = 'exhibit' 
		AND obj_ref_type = media_obj_type 
		ORDER BY media_order ASC, media_id ASC");
		
	// ** DON'T FORGET THE TEXT ** //
	$s = $rs['content'];
	$s .= "\n<div class='cl'><!-- --></div>\n";

	if (!$pages) return $s;
	
	$i = 1; $a = '';
	$total = count($pages);
	
	// people will probably want to customize this up
	foreach ($pages as $go)
	{
		$text = ($go['media_title'] == '') ? '' : $go['media_title'];
		$text .= ($go['media_caption'] == '') ? '&nbsp;' : ': ' . $go['media_caption'];
		
		   $anchor = ($i >= $total) ? 1 : $i + 1;
    $a .= 
    "<span id='anchor$i' class='nothumb'><a href='#anchor$anchor'><img src='" . BASEURL . GIMGS . "/$go[media_file]' alt='$go[media_caption]' /></a>
    </span>";
	
		$i++;
	}
	
	// images
    $s .= "<div id='img-container'>";
   $s .= $a;
   $s .= "</div>";


	return $s;
}

function dynamicCSS()

{
	return "#img-container p { margin-bottom: 18px; }\n#img-container p span { line-height: 18px; }\n.nothumb, .nothumb-top { float: left; }\n.nothumb img  .nothumb-top im { display: block;  margin: 0;}";	
}

?>
merci
/f

ViPHP
xTG
ViPHP | 7331 Messages

24 nov. 2010, 14:44

A première vue voilà comment je ferrai :
$anchor = ($i >= $total) ? "#frametop" : "#anchor" . ($i + 1);
Et enlever le #anchor du href de la ligne qui suit.

Si le script doit afficher l'ancre 1 on lui fait afficher le frametop et sinon fonctionnement normal : anchor suivante

Petit nouveau ! | 4 Messages

24 nov. 2010, 15:53

rhooo la vache ça marche !!!!
merci beaucoup, ça m'enlève une sacrée épine du pied , je vais pouvoir terminer tout en finesse :)
merci, merci.

Et pour la classe spécifique (.nothumb-top) de ma dernière image je procède comment ?
merci de votre aide précieuse.
A bientôt
/g

ViPHP
xTG
ViPHP | 7331 Messages

24 nov. 2010, 20:39

Tu peux procéder sur le même principe que l'utilisation de la variable $anchor.
Soit c'est la class par défaut, soit c'est celle de la dernière image. ;)

Petit nouveau ! | 4 Messages

24 nov. 2010, 22:48

merci pour tes précieux conseils !
voila ce que j'ai écris :
  $anchor = ($i >= $total) ? "#frametop" :"#anchor". ($i + 1);
 $class = ($i >= $total) ? ".nothumb-top" :".nothumb";
	
$a .=  "<span id='anchor$i' class='$class'><a href='$anchor'><img src='" . BASEURL . GIMGS . "/$go[media_file]' alt='$go[media_caption]' /></a></span>";
       
 $i++;
par contre il ne tient pas compte de mes deux classes...(je veux dire par la qu'il ne lit pas mes classes (.nothumb et .nothumb-top) écritent dans le css).
En même temps j'ai du faire une cagole c'est pas possible autrement :)
Bref je bloque sur la derniere marche :(
Si quelqu'un peut me corriger ce serait chouette, je pourrai comprendre mes erreurs et m'atteler à ce que je sais le mieux faire : la DA :)
merci

A bientôt
/f

ViPHP
xTG
ViPHP | 7331 Messages

25 nov. 2010, 09:49

Enlèves le . devant tes noms de classe dans le code PHP. ^^

Petit nouveau ! | 4 Messages

25 nov. 2010, 10:07

youpi :)
merci pour le coup de main !
dès que j'ai terminé le site je te montre. ((si ça t'intéresse évidemment).
Dire qu'un truc aussi simple (?) m'a pris plus de 3 jours.....
Encore merci pour tout.
A bientôt,
/f