Custom slideshow en random

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Custom slideshow en random

Re: Custom slideshow en random

par ddd » 19 mai 2011, 19:03

Merci pour vos réponses rapides,
désolé pour ma réponse tardive.

En faite je me suis mal exprimé,
je ne souhaitais pas un random mais tout simplement que les images défilent par elles-même, lors du chargement de la page.

Du coup il suffisait de modifier le timeout: 0, par timeout: 4000, (pour exemple).
function dynamicJS()
{
    global $timeout;
	return "$(document).ready(function(){ 
	$('#s1').cycle({
	fx:'fade', 
	speed:'2000', 
	timeout: 4000, 
	next:'#next', prev:'#prev'});
	});";
}
Petit soucis:
Le fondu manque de fluidité, je n'arrive pas à avoir un effet plus "agréable ou esthétique à l'oeil ? Quelqu'un aurait-il une idée pour arranger cela ?
Est-il possible de rajouter du code pour gérer le fondu ?

Autre besoin: quelqu'un sait-il comment faire pour rajouter un Full Background à ce pluging ?

Merci pour vos aides future!
Bonne soirée

Re: Custom slideshow en random

par jojolapine » 18 mai 2011, 12:04

Tu peux aussi vraisemblablement modifier le code php, pour insérer les images dans le désordre: il suffirait à priori d'ajouter un
shuffle($pages)
ou encore un
ORDER BY RAND()
dans ta requête

Re: Custom slideshow en random

par Ryle » 12 mai 2011, 20:09

C'est plutôt une question javascript que php ...

Et bien que je ne connaisse pas la librairie jquery que tu utilises, j'aurais tendance à dire que les attributs :
fx:'fade',
speed:'2000',
doivent vraisemblablement gérer l'affichage et la vitesse... mais le mieux sera de regarder la documentation de la librairie pour voir comment elle fonctionne :)

Custom slideshow en random

par ddd » 12 mai 2011, 00:35

Bonjour,
je souhaiterais modifier le pluging suivant (voir code ci-dessous) pour obtenir un random d'images. Avec une possibilité de gérer le temps entre chaque image, ainsi que le fondu.

Le random se lancerait automatiquement lors du chargement de la page.

Quelqu'un peut-il m'aider ?
Merci pour vos conseils !
Bonne soirée


<?php if (!defined('SITE')) exit('No direct script access allowed');

/**
* Slideshow
*
* Exhibition format
* 
* @version 1.0.0.0.0.0.0.0.0.0.1 (Because Simon ate a banana for lunch)
* @author Simon Lagneaux 
* @author Vaska
*/


// defaults from the general libary - be sure these are installed
$exhibit['dyn_css'] = dynamicCSS();
$exhibit['lib_js'] = array('jquery.cycle.all.js');
$exhibit['dyn_js'] = dynamicJS();
$exhibit['exhibit'] = createExhibit();


function dynamicJS()
{
    global $timeout;
	return "$(document).ready(function(){ 
	$('#s1').cycle({
	fx:'fade', 
	speed:'2000', 
	timeout: 0, 
	next:'#next', prev:'#prev'});
	});";
}


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'];

	if (!$pages) return $s;
	
		$i = 1; $a = '';
	
	// people will probably want to customize this up
	foreach ($pages as $go)
	{
	    $title 		= ($go['media_title'] == '') ? '' : $go['media_title'] . '&nbsp;';
	    $caption 	= ($go['media_caption'] == '') ? '&nbsp;' : $go['media_caption'];

		//$x = getimagesize(BASEURL . GIMGS . '/' . $go['media_file']);
		
		$a .= "\n<div><img src='" . BASEURL . GIMGS . "/$go[media_file]' class='img-bot' /><p>{$title}{$caption}</p></div>\n";
		
		$i++;
	}
	
	// images
	$s .= "<div id='img-container'>\n";
	$s .= "<p class='nav'><a id='prev' href='#'>Prev</a> | <a id='next' href='#'>Next</a> 
	       <span id='num'></span></p>";
	$s .= "<div id='s1' class='pics'>\n";
	$s .= $a;
	$s .= "</div>\n";
	$s .= "</div>\n\n";
		
	return $s;
}


function dynamicCSS()
{
	return "#num {padding-left: 6px;}
	.img-bot {margin-bottom: 6px; display: block; }";
}



?>