Adding "loading" movieclip to dynamic image gallery?
Hello again,
I've completed my XML-driven image gallery, however upon live testing I'd realized I made a rookie mistake and not put some kind of placeholder "loading" movie clip loop while the thumbnails—and subsequent full-size images—are being loaded. The images will randomly appear when loaded and I would like to be able to insert a placeholder movie clip while they load, and swap them up with the thumbnails/images after it has been loaded. The placeholder movie clip is in my library (loadingLoop), but I'm having problems getting it to work correctly.
Below is the original function that processes the XML and adds the thumbnail images; this is where I'm trying to insert the placeholder movie clip per XML child node (every attempt I've made just keeps throwing more errors, so I've omitted my attempts to avoid confusion), and I've attached the XML file for testing. And insight or help would be appreciated.
//Locate the external XML file and trigger xmlLoaded when complete
xmlLoader.load(new URLRequest("data/artGallery.xml"));
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
//Load the XML and process the image locations
function xmlLoaded(event:Event):void {
xml = XML(event.target.data);
//parse the nodes in the XML file
xmlList = xml.children();
//count the number of nodes in the XML file via XMLList
trace(xmlList.length());
//loop to load all of the thumbnails, based on the number of nodes in XMLList
//"i" = every child node in the XML file
for (var i:int = 0; i < xmlList.length(); i++) {
//Add loadingLoop movie clip per node and wait for thumnail to load before swapping out with imageLoader thumbnail images <-- help!!
//for every node, create a new instance to be put on stage
imageLoader = new Loader();
//load each thumbnail from its location per XML node's "thumb" attribute
imageLoader.load(new URLRequest(xmlList[i].attribute("thumb")));
//position of thumbnail instances per XML node (horizontally across stage)
imageLoader.x = i * 110 + 10;//thumbs are 100 x 100 so, +10 to the width, plus +10 from left edge
//imageLoader.y = 10;
//for each node in XML list, name the instance with the path to the location of the full size image
imageLoader.name = xmlList[i].attribute("source");
//for each node in the XML list, add a drop shadow
imageLoader.filters = [thumbDShadow];
//add thumbnails to stage
addChild(imageLoader);
dropTween = new Tween(imageLoader, "y", Bounce.easeOut, -100, 10, 1, true);
//set up thumbnails to wait for a click to execute showPicture
imageLoader.addEventListener(MouseEvent.CLICK, showPicture);
//set up thumbnails to scale when rolled over
imageLoader.addEventListener(MouseEvent.ROLL_OVER, sizeUP);
Somehow I had a feeling this wouldn't be a copy-and-paste job for the full-size images. Sorry to be a bother. This is the showPicture function that is fired off when the thumbnail image is clicked (from our previous example). Two errors are thrown:
When the thumnail is clicked:
"Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/removeChild()
at MethodInfo-51()"
But the full-size image loads nonetheless. The second loading loop (loadingLoop2) is not removed. Below is the showPicture function:
//Load the full-size images and place onto the stage
function showPicture(event:MouseEvent):void {
//add new movie clip container
var mc2:MovieClip = new MovieClip();
addChild(mc2);
//clear the fullLoader—this is to help clear any full-size images that may already be on the stage (they have two options, click a new thumbnail, or close the current full-size image
fullLoader.unload();
//re-create the fullLoader, if there was one cleared
fullLoader = new Loader();
//load each full size image from its location per XML node's "source" deliniated by mc.ldr's "source" attribute
fullLoader.load(new URLRequest(event.target.name));
//add the loder to the container
mc2.addChild(fullLoader);
//create new instance of second loading loop
mc2.fsloop = new loadingLoop2();
//add the second loading loop to the container
mc2.addChild(mc2.fsloop);
//for each container, add a drop shadow
mc2.filters = [fullDShadow];
//set the container's position center on stage, making it the size of the loading loop until the full-size images are loaded
mc2.x = (stage.stageWidth - mc2.fsloop.width) * 0.5;
mc2.y = (stage.stageHeight - mc2.fsloop.height) * 0.5;
//place container on stage
addChild(mc2);
//fade in each container
fadeTween = new Tween(mc2, "alpha", None.easeNone, 0, 1, 0.5, true);
//check to see if the image has been loaded completely—this is to make sure the image's attributes can be used to re-center on stage and remove fsloop
fullLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, removeLoop2);
//set field to multiline so that the <br> HTML tags can be used
imageTextField.multiline = true;
//add text frame for description
imageTextField.x = 10;
imageTextField.y = 125;
//for each full-size image, load the description text from the XML child nodes
for (var j:int = 0; j < xmlList.length(); j++) {
//check to make sure that the correct full-size image matches the text node when clicked
if (xmlList[j].attribute("source") == event.target.name) {
//add each child node as a separate line in the same text field; added HTML tags for CSS application
imageTextField.htmlText = "<p><span class = 'projectName'>" + xmlList[j].child("projectName") + "</span><br>"
+ "<span class = 'toolsUsed'>" + xmlList[j].child("toolsUsed") + "</span><br><br>"
+ xmlList[j].child("projText") + "<br>"
+ "<span class = 'liveURL'>" + xmlList[j].child("liveURL") + "</span></p>";
function removeLoop2(event:Event):void {
//re-position the container to center on stage to accomodating the full sized image
mc2.x = (stage.stageWidth - fullLoader.width) * 0.5;
mc2.y = (stage.stageHeight - fullLoader.height) * 0.5;
//Add the text field
addText();
//hide instructional text, already on stage
galleryInfo_mc.alpha = 0;
//remove the full-sized loading loop
event.target.loader.parent.removeChild(MovieClip(event.target.loader.parent).loadingLoop2 );
//set up full-size images to "self close" by clicking on it
mc2.addEventListener(MouseEvent.CLICK, clearStage);
The second error gets thrown when the container is clicked and the function clearStage is executed, which does not remove the container:
"TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/removeChild()
at artGallery_v1_5_fla::MainTimeline/clearStage()"
This is the clearStage function:
//Allow full-size image to "self close" by clikcing on it and removing the text description
function clearStage(event:MouseEvent):void {
//clear the fullLoader
fullLoader.unload();
//remove the container
event.target.parent.removeChild(MovieClip(event.target.parent).mc2);
//remove the text field
removeChild(imageTextField);
//show the instructional text that is on-stage
galleryInfo_mc.alpha = 1;
Help!
Similar Messages
-
Hello All!
I am creating a dynamic image gallery, but when my external
images load in the empty movie clip, all the images are loading in
the same size/dimension. Does anyone know how I can command the MC
to load the images in different sizes, another words - to load them
according to its own size?
here's the AS
onClipEvent (load)
function imageMove()
var _loc1 = this;
for (i = 1; i <= num_of_image; i++)
mc = _loc1["image" + i];
if (i < hit)
tempx = small * (i - 1) + 30;
temps = small - 5;
mc.useHandCursor = true;
else if (i > hit)
tempx = big + small * (i - 2) + 30;
temps = small - 5;
mc.useHandCursor = true;
else
tempx = small * (i - 1) + 150; //distance of how far out the
displayed image jumps.
temps = big - 5; //distance between the displayed image and
thumbnails.
mc.swapDepths(1000);
display = txt
mc.useHandCursor = false;
} // end else if
mc._x = mc._x + (tempx - mc._x) / 3; //number of pixals on
x-axis the displayed image moves over to right side before growing
big.
mc._width = mc._width + (temps - mc._width) / 3; //number of
pixals on x-axis the displayed image moves over to left side before
growing big.
mc._height = mc._width * 4 / 3;
if (Math.abs(mc._width - temps) <= 1)
title._x = hit < 5 ? (_loc1["image" + hit]._x + big / 2) :
(_loc1["image" + hit]._x - big / 2 - 100);
title._y = 100;
} // end if
} // end of for
} // End of the function
function loopHye()
if (hit != num_of_image)
++_global.hit;
else
_global.hit = 1;
} // end else if
} // End of the function
getURL("FSCommand:allowscale", false);
big = 300;
//Large image width (400 works best for my portfolio site)
small = 60;//Small image width (40 works well for my
portfolio site)
num_of_image = 8;//Total number of images
timeGap = none;//Speed (speed of gaptime when each image is
displayed automatically. "2000" is default of this original file.
larger the number the slower the image changes. (type in "none"
will stop automatic images from changing.
_global.hit = 0;//First displyed image number (type "0" to
stop images from growing out)
txt = [" ", "image1", "image2", "image3", "image4", "image5",
"image6", "image7", "image8"];//insert text of each images between
for (i = 1; i <= num_of_image; i++)
attachMovie("image", "image" + i, i);
loadMovie("image/" + i + ".jpg", this["image" +
i].tar);//image folder path
mc = this["image" + i];
mc._x = small * (i - 1) + 30;
mc._y = 200; //where on the axis should the displays be.
mc._width = small - 5;
mc._height = mc._width * 4 / 3;
this["image" + i].onRelease = function ()
clearInterval(interval);
_global.hit = this._name.substr(5);
interval = setInterval(loopHye, timeGap);
} // end of for
interval = setInterval(loopHye, timeGap);
onClipEvent (enterFrame)
imageMove();
check out the file
http://www.wendiland.com/Gallery122b.fla
this is what the current gallery looks like
http://www.wendiland.com/print2.html
I'd appreciated if someone replies with any sort of
suggestions! thanks in advance!!!
- W£NDIif you google with "dynamic image gallery", you'll find a lot
of
tutorials & examples including pre-programmed solutions
if you prefer to do it yourself, you need to deal with
dynamic sites. DW
help chapters Preparing to Build Dynamic Sites, Making Pages
Dynamic &
Developing Applications Rapidly can also help to understand
in fact you don't need a database, the images can be read
from the
folder they're stored. that way to update a gallery you only
need to
remove/replace/add images. one folder for each gallery
and the application development forum is best suited for your
question
BTW, some nice photos in your page
hth,
jdoe
uvi wrote:
> I'm trying to create a dynamic image gallery that is
updated from a database, i
> managed to create a simple mysql database
> using phpmy admin, so I could update my image gallery
more often, I saw
> something that I like but I have no idea how to create
it here is the example:
>
http://flight001.com/store/trip.htm?itemid=307&sid=201&page=2
> I didnt manage to create this with dynamic table from
within dreamweaver 8,
> maybe I just don't know how,
> this is the link to a gallery on my website:
>
http://www.yuvallavy.com/work/scenic/scenic.htm.
I need all the help I can get
> I'm using dreamweaver 8 on a Mac and using PHP/MySql
server model.
> -
I have dipped in almost every search engine and this site to
locate some easier way to create dynamic image gallery in Flash 8
AS2 using ASP (as i am conversant with ASP only, although i found
many sites suggesting PHP and XML). I'd be very greatful to u all
if u could provide me some help in this part of my project.
I have tried this source also but neither the source throw
any error nor it displays the images, what could be wrong with the
source? Please Please Please Please Please Help me!!!!!!!!
this.createClassObject(mx.containers.ScrollPane,
"scroller_sp", 10);
scroller_sp. setSize (100, 300);
swfThumbs=["imgs/img1.jpg","imgs/img2.jpg","imgs/img3.jpg"]
this.createEmptyMovieClip("clipLoader",1);
for(i=0;i< swfThumbs.length;i++){
clipLoader.createEmptyMovieClip("clip"+i+"_mc",i)
clipLoader.attachMovie("clip"+i+"_mc","clip"+i+"_mc",i+10);
clipLoader.loadMovieNum(swfThumbs
,i+100);
scroller_sp.contentPath = clipLoader;
thanks in anticipation and regards
raajaindraHi,
I have a picture show.
It creates its own folder when you first upload images with
the integrated Image uploader. Then it loads the images in with
ASP.
Have a look at
http://netwings.info
- click the B1 Image-show.
When you are interested, the contact is at the site.
Regards,
Luciewong -
Dynamic image gallery on detail page
I have a master page listing 8 products. I have inserted a dynamic image gallery on the detail page which looks ok, but has one major flaw: when you click on a thumbnail the main image opens on the wrong page. e.g. if you click on page ../dragons.php?id=3 the main image opens on ../dragons.php/id=1 and shows the following url: .../dragons.php?image=btf.jpg (or whatever the image file name).
I have only just started using php and I would appreciate some guidance on how to resolve this problem.
The relevant sections of the code are as follows?
$vardragon_dragons_species = "1";
if (isset($_GET['id'])) {
$vardragon_dragons_species = $_GET['id'];
mysql_select_db($database_cjwebsite, $cjwebsite);
$query_dragons_species = sprintf("SELECT dragons.Order, dragons.family, dragons.Latin, dragons.English, dragons.Img1, dragons.Img2, dragons.Img3, dragons.img4, dragons.Img5, dragons.text, `dragons gallery`.filename, `dragons gallery`.caption, dragons.id, `dragons gallery`.image_id, dragons.id FROM dragons, `dragons gallery` WHERE dragons.id = `dragons gallery`.image_id AND dragons.id=%s", GetSQLValueString($vardragon_dragons_species, "int"));
$dragons_species = mysql_query($query_dragons_species, $cjwebsite) or die(mysql_error());
$row_dragons_species = mysql_fetch_assoc($dragons_species);
$totalRows_dragons_species = mysql_num_rows($dragons_species);
if (isset($_GET['image'])) {
$mainImage = $_GET['image'];
else {
$mainImage = $row_dragons_species['filename']; }
<body>
<div class="main_image"><img src="../images/dragons/<?php echo $mainImage; ?>" alt="<?php echo $row_dragons_species['caption']; ?>" />
<div class="capt"><?php echo $row_dragons_species['caption']; ?></div>
<ul class="gallery">
<?php do {
if ($row_dragons_species['filename'] == $mainImage) {
$row_dragons_species['caption'];
}?>
<li><a href="<?php echo $_SERVER['PHP_SELF'];?>?image=<?php echo $row_dragons_species['filename']; ?>"><img src="../images/dragons/thumbs/<?php echo $row_dragons_species['filename']; ?>" alt="<?php echo $row_dragons_species['caption']; ?>" /></a></li>
<?php } while ($row_dragons_species = mysql_fetch_assoc($dragons_species)); ?>
</ul>
Many thanks
CJI'm still at an early stage in building this site and because it is allvery experimental I am and just using local testing.
So to try to explain my objective. I have a master page with 8 products there is a link to a detail page based on product id. So from the master page (dragons.php) you can select a product which will show the product information on a detail page (eg. dragons_species.php?id=1 or dragons_species.php?id=2 etc). This works ok.
Each detail page has various pieces of information and 5 images. I wanted to show the images in an image gallery format and so used the code you provide in your book PHP Solutions (Creating a Dynamic Online Gallery pp.323-330). This works ok on the first page where id=1, but on subsequent pages (id=2, id=3 etc) I am loosing the id link infavour of an image based link.
This is the complete script for my detail page (dragons_species.php)
<?php require_once('../Connections/cjwebsite.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$vardragon_dragons_species = "1";
if (isset($_GET['id'])) {
$vardragon_dragons_species = $_GET['id'];
mysql_select_db($database_cjwebsite, $cjwebsite);
$query_dragons_species = sprintf("SELECT dragons.Order, dragons.family, dragons.Latin, dragons.English, dragons.Img1, dragons.Img2, dragons.Img3, dragons.img4, dragons.Img5, dragons.text, `dragons gallery`.filename, `dragons gallery`.caption, dragons.id, `dragons gallery`.image_id, dragons.id FROM dragons, `dragons gallery` WHERE dragons.id = `dragons gallery`.image_id AND dragons.id=%s", GetSQLValueString($vardragon_dragons_species, "int"));
$dragons_species = mysql_query($query_dragons_species, $cjwebsite) or die(mysql_error());
$row_dragons_species = mysql_fetch_assoc($dragons_species);
$totalRows_dragons_species = mysql_num_rows($dragons_species);
if (isset($_GET['image'])) {
$mainImage = $_GET['image'];
else {
$mainImage = $row_dragons_species['filename']; }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Odonata Species</title>
<link href="../Css/dragons.css" rel="stylesheet" type="text/css" />
<link href="../Css/menu.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<?php include('../Includes/logo2.inc.php'); ?>
</div>
<div id="content"> <div id="title">
<h1>Damselflies & Dragonflies</h1>
</div>
<div class="family")><?php echo $row_dragons_species['Order']; ?></div>
<div class="subfamily">
<?php echo $row_dragons_species['family']; ?>
<div class="main_image"><img src="../images/dragons/<?php echo $mainImage; ?>" alt="<?php echo $row_dragons_species['caption']; ?>" />
<div class="capt"><?php echo $row_dragons_species['caption']; ?></div></div></
<div class="description">
<div class="text" id="name"><?php echo $row_dragons_species['Latin']; ?></div>
<div id="vernname"><?php echo $row_dragons_species['English']; ?></div>
<?php echo $row_dragons_species['text']; ?></div>
<ul class="gallery">
<?php do {
if ($row_dragons_species['filename'] == $mainImage) {
$row_dragons_species['caption'];
}?>
<li><a href="<?php echo $_SERVER['PHP_SELF'];?>?image=<?php echo $row_dragons_species['filename']; ?>"><img src="../images/dragons/thumbs/<?php echo $row_dragons_species['filename']; ?>" alt="<?php echo $row_dragons_species['caption']; ?>" /></a></li>
<?php } while ($row_dragons_species = mysql_fetch_assoc($dragons_species)); ?>
</ul>
<div id="footer">
<?php include('../includes/footer.inc.php'); ?>
</div></div>
</div>
</body>
</html>
<?php
mysql_free_result($dragons_species);
?>
The code for my master page dragons.php is as follows
<?php require_once('../Connections/cjwebsite.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
mysql_select_db($database_cjwebsite, $cjwebsite);
$query_dragons_species = "SELECT id, Latin, English, Thumbs FROM dragons";
$dragons_species = mysql_query($query_dragons_species, $cjwebsite) or die(mysql_error());
$row_dragons_species = mysql_fetch_assoc($dragons_species);
$totalRows_dragons_species = mysql_num_rows($dragons_species);mysql_select_db($database_cjwebsite, $cjwebsite);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Odonata</title>
<link href="../Css/menu.css" rel="stylesheet" type="text/css" />
<link href="../Css/dragons.css" rel="stylesheet" type="text/css" />
<body>
<div id="header">
<?php include('../Includes/logo2.inc.php'); ?></div>
<div id="content"> <div id="title">
<h1>Damselflies</a> & Dragonflies</h1>
<div id="sidebar">
<?php include('../Includes/menu2.inc.php'); ?>
<div id="text">
<h2>ODONATA</h2>
</h2>
<p>Ten species have been recorded on the islands, of which seven are common and widely distributed. The Golden-ringed Dragonfly and the Emerald Damselfly are both very scarce, whilst the record of the Azure-winged Dragonfly on Lewis is unconfirmed.
<?php do { ?>
<div class="speciesbox"><a href="Dragons_species.php?id=<?php echo $row_dragons_species['id']; ?>"><img src="../images/dragons/thumbs/<?php echo $row_dragons_species['Thumbs']; ?>" /></a>
<div class="latin"><a href="Dragons_species.php?id=<?php echo $row_dragons_species['id']; ?>"><?php echo $row_dragons_species['Latin']; ?></a>
<div class="english"><a href="Dragons_species.php?id=<?php echo $row_dragons_species['id']; ?>"><?php echo $row_dragons_species['English']; ?></a> </div>
</div></div>
<?php } while ($row_dragons_species = mysql_fetch_assoc($dragons_species)); ?> </div>
<div id="footer">
<?php include('../includes/footer.inc.php'); ?>
</div>
</body>
</html>
<?php
mysql_free_result($dragons_species);
?>
Does this shed any light?
Many thanks
CJ. -
Hi all, I am new to the forum and I have a specific question
about a dynamic image gallery i am making.
Everything goes well, until I want to click from a thuimbnail
to see an enlarged image that is another file.
here is the specific code for that:
1) one problem is that -when I wlick one of the 5 jpegs
attached- I always see the last one enlarged...
2) another problem is to go back to the thumbs after clicking
the enlarged image...
PLease help meOne issue it might be, is that in your for loop you have var
i:Number=1; Set to 1 not 0. Then you referrence that number when
declaring your small and large images by i.
Remember actionscript always starts at zero not 1 when
creating objects dynamically. -
Dynamic Image Gallery First, Next,Previous,Last
had a friend help me build this but now he's gone and I don't
understand arrays or coldfusion really. I have an image gallery
that works beautifully except that I want to be able to add two
behaviors to the page. 1.Pagination. 2. Display Record Count. (I
know how to use the Dreamweaver built in Server Behaviors with
Dynamic Tables but this is a little different from that b/c he's
using arrays to build the table instead. I've almost go the
pagination working. Except I can't figure how to show the last
record. I've got "First, Next, & Previous" to work. But the
"Last" doesn't. This is the part of the code that I'm concerned
with as everything else is working.
<cfset CountUp=Count + 10>
<cfset CountDown=Count - 10>
<p align="center"><cfif Count gte 1><a
href="gallery.cfm">First</a></cfif> <cfif
Count gte 10><a
href="gallery.cfm?Count=<cfoutput>#CountDown#</cfoutput>">Previous</a></cfif> <cfif
ArrayLen(PhotoArray) gt CountUp><a
href="gallery.cfm?Count=<cfoutput>#CountUp#</cfoutput>">Next</a></cfif><cfif
ArrayLen(PhotoArray) lt CountUp><a
href="gallery.cfm?Count=<cfoutput>#CountUp#</cfoutput>">Last</a></cfif>
I have no idea how to write the "Display record counts" so if
someone can help me write that part I would be so greatful.
Here is all of the code for this page attatched...
Attach CodeYour code is more complicated than it needs to be. I honestly
didn't dig through it, but here are a few suggestions.
Use ArrayLen(array[]) to count the number of rows in an aray.
Use array[ArrayLen(array)] to find the last record -
Urgent Help with Image Gallery
Hi,
I really need help with an image gallery i have created. Cannot think of a resolution
So....I have a dynamic image gallery that pulls the pics into a movie clip and adds them to the container (slider)
The issue i am having is that when i click on this i am essentially clicking on all the items collectively and i would like to be able to click on each image seperately...
Please see code below
var xml:XML;
var images:Array = new Array();
var totalImages:Number;
var nbDisplayed:Number = 1;
var imagesLoaded:int = 0;
var slideTo:Number = 0;
var imageWidth = 150;
var titles:Array = new Array();
var container_mc:MovieClip = new MovieClip();
slider_mc.addChild(container_mc);
container_mc.mask = slider_mc.mask_mc;
function loadXML(file:String):void{
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest(file));
xmlLoader.addEventListener(Event.COMPLETE, parseXML);
function parseXML(e:Event):void{
xml = new XML(e.target.data);
totalImages = xml.children().length();
loadImages();
function loadImages():void{
for(var i:int = 0; i<totalImages; i++){
var loader:Loader = new Loader();
loader.load(new URLRequest("images/"+String(xml.children()[i].@brand)));
images.push(loader);
// loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
function onComplete(e:Event):void{
imagesLoaded++;
if(imagesLoaded == totalImages){
createImages();
function createImages():void{
for(var i:int = 0; i < images.length; i++){
var bm:Bitmap = new Bitmap();
bm = Bitmap(images[i].content);
bm.smoothing = true;
bm.x = i*170;
container_mc.addChild(bm);
var caption:textfile=new textfile();
caption.x=i*170; // fix text positions (x,y) here
caption.y=96;
caption.tf.text=(xml.children()[i].@brandname)
container_mc.addChild(caption);yes, sorry i do wish to click on individual images but dont know how to code that
as i mentioned i have 6 images that load into an array and then into a container and i think that maybe the problem is that i have the listener on the container so when i click on any image it gives the same results.
what i would like is have code thats says
if i click on image 1 then do this
if i click on image 2 then do something different
etc
hope that makes sense
thanks for you help! -
Need advice/idea about Image gallery
Hello to ALL!!!
I'm trying to make an dynamic image gallery WITH!!! some
active buttons above (for example: BUTTON1 with function "delete"
and BUTTON2 with function "update") a picture and some "dataoutput"
below (for example:Price). So, separate cell must look like:
BUTTON1 BUTTON2
<Image>
PRICE
For implementation this task I have:
1) mySQL database "gallery" with table "test" and columns
"Id", "path to image", "Price"
2) 2 gifs: BUTTON1, BUTTON2
Before my first trying I thought that it's simple, and I've
tried:
<!---action page---->
<cfquery name="qTest" datasource="gallery">
SELECT * FROM test
</cfquery>
<div id=imagecont>
<cfoutput>
<cfloop query="qTest">
<img src="../Button1.gif />
<img src="../Button2.gif /><br>
<img src="#qTest.path to image#" />
<p>#qTest.Price#</p>
</cfloop>
</cfoutput>
</div>
And it worked normal. BUT!!! Looping had a vertical
direction! And any CSS rules that I've applied to DIV "imagecont"
(weight, height) hadn't any effect.
So, what I've get:
I see all necessary information (on browser), but I don't
know, how to format it with my dreaweawer cs3 and CSS.
And I afraid that I've chosen a "wrong method" (I mean my
code above)
Please, give me some recommendations or advices.
How can i archive my needs?
How to use CSS in div tag, which includes <cfloop>
code. I've also tried to use CSS with structure like:
<div id=a>
<cfoutput>
<cfloop >
<div id=b>
DATA
</div>
</cfloop>
</cfoutput>
</div>
But (div a)'s CSS rule HEIGHT take's no effect on <div
id=b> :(
And what about useful technique for displaying " action
buttons" above each image in dynamic image gallery???
Great THANKS for your answers/comments!!!!the css attribute you are looking for is FLOAT.
see if something like
http://www.photos-of-laos.org/top-rated.cfm
is
what you are after in general images layout terms. feel free
to check
the generated html :).
re general css knowledge i highly recommend the book
"Bulletproof CSS"
by Mark Grabinski.
re the 2 buttons above the image: consider turning them into
css image
overlays instead (when the buttons appear OVER [not above]
the image
only when a user mouses over) - it looks much better that
way.
hth
Azadi Saryev
Sabai-dee.com
http://www.sabai-dee.com/ -
I'm trying to create a dynamic image gallery that is updated
from a database, i managed to create a simple mysql database
using phpmy admin, so I could update my image gallery more
often, I saw something that I like but I have no idea how to create
it here is the example:
http://flight001.com/store/trip.htm?itemid=307&sid=201&page=2
I didnt manage to create this with dynamic table from within
dreamweaver 8, maybe I just don't know how,
this is the link to a gallery on my website:
http://www.yuvallavy.com/work/scenic/scenic.htm.
I need all the help I can get
I'm using dreamweaver 8 on a Mac and using PHP/MySql server
model.All you need to is put a repeat region on the page and then
apply something
like a horizontal looper to it to get the number of images
across that you
want. I know that there is a commercial extension for DW but
there also may
be free php ones. Do a google search on horizontal looper +
php
Paul Whitham
Certified Dreamweaver MX2004 Professional
Adobe Community Expert - Dreamweaver
Valleybiz Internet Design
www.valleybiz.net
"uvi" <[email protected]> wrote in message
news:eiqtu3$c1b$[email protected]..
> I'm trying to create a dynamic image gallery that is
updated from a
> database, i
> managed to create a simple mysql database
> using phpmy admin, so I could update my image gallery
more often, I saw
> something that I like but I have no idea how to create
it here is the
> example:
>
http://flight001.com/store/trip.htm?itemid=307&sid=201&page=2
> I didnt manage to create this with dynamic table from
within dreamweaver
> 8,
> maybe I just don't know how,
> this is the link to a gallery on my website:
>
http://www.yuvallavy.com/work/scenic/scenic.htm.
I need all the help I can
> get
> I'm using dreamweaver 8 on a Mac and using PHP/MySql
server model.
>
> -
Actionscript image gallery doesn't recognize load request
Hi, I'm trying to create a five image gallery, and when I try to add the load request for the 3rd, 4th, and 5th images I get an error message that says it doesn't recognize that request: see code below:
stop();
//turn on buttonMode for mc's so mouse changes to hand
one_mc.buttonMode=true;
two_mc.buttonMode=true;
three_mc.buttonMode=true;
//four_mc.buttonMode=true;
//five_mc.buttonMode=true;
//--add button modes for 3-5 here
//define rollovers (don't define rollOuts yet...will prevent flickering)
one_mc.addEventListener(MouseEvent.ROLL_OVER, over1);
two_mc.addEventListener(MouseEvent.ROLL_OVER, over2);
three_mc.addEventListener(MouseEvent.ROLL_OVER, over3);
//--add eventListeners for 3-5 here
//define clicks
one_mc.addEventListener(MouseEvent.CLICK, load1);
two_mc.addEventListener(MouseEvent.CLICK, load2);
three_mc.addEventListener(MouseEvent.CLICK, load3);
//four_mc.addEventListener(MouseEvent.CLICK, load4);
//five_mc.addEventListener(MouseEvent.CLICK, load5);
//--add eventListeners for 3-5 here
//turn off big rect
bigRect_mc.visible=false;
//create URL request to communicate to external file
//NOTE: You will have to have an "images folder with "one.jpg" in order for this to work
//title your files so they make sense
var my1Request:URLRequest=new URLRequest("images/one.jpg");
var my2Request:URLRequest=new URLRequest("images/two.jpg");
var my3Request:URLRequest=new URLRequest("images/three.jpg");
//--add requests for 3-5 here
//create loader to bring in external file
var my1Loader:Loader = new Loader();
var my2Loader:Loader = new Loader();
var my3Loader:Loader = new Loader();
//--add requests for 3-5 here
//move loaders to create room for nav
my1Loader.x=125;
my1Loader.y=12;
my2Loader.x=125;
my2Loader.y=12;
my3Loader.x=125;
my3Loader.y=12;
//--add positioning for 3-5 here
//add a close button. The new close is a reference to the CLASS NAME GIVEN IN THE PROPERTIES OF THE SYMBOL...very important!
var close1_btn=new close();
var close2_btn=new close();
var close3_btn=new close();
//--add close buttons for 3-5 here
//choose location on the stage (my close button has the registration in the upper right)
close1_btn.x=954;
close1_btn.y=11;
close2_btn.x=954;
close2_btn.y=11;
close3_btn.x=954;
close3_btn.y=11;
//--add close locations for 3-5 here
//define event listeners
function over1(evt:MouseEvent):void {
//remove over event
one_mc.removeEventListener(MouseEvent.ROLL_OVER, over1);
//play one's timeline
one_mc.gotoAndPlay("over");
//add rollout
one_mc.addEventListener(MouseEvent.ROLL_OUT, out1);
function out1(evt:MouseEvent):void {
//remove out event
one_mc.removeEventListener(MouseEvent.ROLL_OUT, out1);
//play one's timeline
one_mc.gotoAndPlay("out");
//add rollover
one_mc.addEventListener(MouseEvent.ROLL_OVER, over1);
function over2(evt:MouseEvent):void {
two_mc.removeEventListener(MouseEvent.ROLL_OVER, over2);
two_mc.gotoAndPlay("over");
two_mc.addEventListener(MouseEvent.ROLL_OUT, out2);
function out2(evt:MouseEvent):void {
two_mc.removeEventListener(MouseEvent.ROLL_OUT, out2);
two_mc.gotoAndPlay("out");
two_mc.addEventListener(MouseEvent.ROLL_OVER, over2);
function over3(evt:MouseEvent):void {
three_mc.removeEventListener(MouseEvent.ROLL_OVER, over3);
three_mc.gotoAndPlay("over");
three_mc.addEventListener(MouseEvent.ROLL_OUT, out3);
function out3(evt:MouseEvent):void {
three_mc.removeEventListener(MouseEvent.ROLL_OUT, out3);
three_mc.gotoAndPlay("out");
three_mc.addEventListener(MouseEvent.ROLL_OVER, over3);
//--add event listener definitions for 3-5 here
define loadOne
function load1(evt:MouseEvent):void {
//remove any listeners you don't need
one_mc.removeEventListener(MouseEvent.ROLL_OUT, out1);
one_mc.removeEventListener(MouseEvent.CLICK, load1);
//add listeners you do need
one_mc.addEventListener(MouseEvent.ROLL_OVER, over1);
//turn on big rect
bigRect_mc.visible=true;
//load image
my1Loader.load(my1Request);
//add image + close to display list
addChild(my1Loader);
addChild(close1_btn);
//add event for close button click
close1_btn.addEventListener(MouseEvent.CLICK, remove1);
//define event function
function remove1(evt:MouseEvent):void {
//remove image & close button from display list
removeChild(my1Loader);
removeChild(close1_btn);
//turn off big rect
bigRect_mc.visible=false;
//reset movieClip button
one_mc.gotoAndStop(1);
//add back necessary event listenters
one_mc.addEventListener(MouseEvent.ROLL_OVER, over1);
one_mc.addEventListener(MouseEvent.CLICK, load1);
function load2(evt:MouseEvent):void {
//remove any listeners you don't need
two_mc.removeEventListener(MouseEvent.ROLL_OUT, out2);
two_mc.removeEventListener(MouseEvent.CLICK, load2);
//add listeners you do need
two_mc.addEventListener(MouseEvent.ROLL_OVER, over2);
//turn on big rect
bigRect_mc.visible=true;
//load image
my2Loader.load(my2Request);
//add image + close to display list
addChild(my2Loader);
addChild(close2_btn);
//add event for close button click
close2_btn.addEventListener(MouseEvent.CLICK, remove2);
//define event function
function remove2(evt:MouseEvent):void {
//remove image & close button from display list
removeChild(my2Loader);
removeChild(close2_btn);
//turn off big rect
bigRect_mc.visible=false;
//reset movieClip button
two_mc.gotoAndStop(1);
//add back necessary event listenters
two_mc.addEventListener(MouseEvent.ROLL_OVER, over2);
two_mc.addEventListener(MouseEvent.CLICK, load2);
function load3(evt:MouseEvent):void {
//remove any listeners you don't need
three_mc.removeEventListener(MouseEvent.ROLL_OUT, out3);
three_mc.removeEventListener(MouseEvent.CLICK, load3);
//add listeners you do need
three_mc.addEventListener(MouseEvent.ROLL_OVER, over3);
//turn on big rect
bigRect_mc.visible=true;
load image
my3Loader.load(my3Request);
add image + close to display list
addChild(my3Loader);
addChild(close3_btn);
add event for close button click
close3_btn.addEventListener(MouseEvent.CLICK, remove3);
//define event function
function remove3(evt:MouseEvent):void {
remove image & close button from display list
removeChild(my3Loader);
removeChild(close3_btn);
//turn off big rect
bigRect_mc.visible=false;
reset movieClip button
three_mc.gotoAndStop(1);
add back necessary event listenters
three_mc.addEventListener(MouseEvent.ROLL_OVER, over3);
three_mc.addEventListener(MouseEvent.CLICK, load3);
//--add other events herecopy and paste the error message after clicking file/publish settings/flash and ticking "permit debugging". specify the line of code with the error mentioned in the error message.
-
Get content of dynamically loaded movieclip
Hey,
After trying to no avail to get the totalframes of a dynamically loaded .swf in AS3 I've regressed to AS2.
Now I can add the clip and get the totalframes of the content, no problem.
THe problem is I cannot resize the content at all.
I have no idea how to target the loaded content.
Here's the code I'm using:
var myXML:XML = new XML();
var path:String;
var mcl:MovieClipLoader = new MovieClipLoader();
var mclm:MovieClipLoader = new MovieClipLoader();
var mclL:Object = new Object();
var frames:Number;
var i:Number = 0;
var mc:MovieClip = new MovieClip
myXML.ignoreWhite=true;
myXML.load("content.xml");
holder_mc._alpha = 0;
myXML.onLoad = function(xmlLoaded){
menu();
load();
mclL.onLoadComplete = function() {
frames = (MovieClip(holder_mc)._totalframes);
if (frames == 1) {
image();
else if (frames > 1) {
clip();
load = function(){
clearInterval(timer);
path = myXML.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue;
mcl.loadClip(path, holder_mc);
var tFiles:Number = myXML.firstChild.childNodes.length;
if (i < tFiles){
i++;
else if (i == (tFiles)){
i=0;
load();
mcl.addListener(mclL);
image = function() {
seconds=1000;
holder_mc._alpha = 100;
timer = setInterval(load, seconds);
clip = function() {
holder_mc._alpha = 100;
ftimer = setInterval(checkFrames, 100);
checkFrames = function() {
frame = (MovieClip(holder_mc)._currentframe);
if (frame==(frames-1)){
clearInterval(ftimer);
load();
menu = function(){
var tFiles:Number = myXML.firstChild.childNodes.length;
for (me=0; me < tFiles; me++){
path = myXML.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue;
i++;
_root.attachMovie("circle", "circle"+me, me, {_x:(me*30), _y:330});
mclm.loadClip(path, ("circle"+me));
I need to resize the content both for the main holder_mc as well as for the menu elements.Thank you for the response.
Unfortunately that didn't work.
Even if I try to trace either target._width or holder_mc._width where you suggested I get 0 values.
The only values I did manage to get was when I put the trace in the load() function but they were out of sync with the images being loaded.
I even tried it on a simpler model:
var myXML:XML = new XML();
var path:String;
var mcl:MovieClipLoader = new MovieClipLoader();
var mclL:Object = new Object();
var frames:Number;
var i:Number = 0;
var tFiles:Number;
myXML.ignoreWhite=true;
myXML.load("content.xml");
myXML.onLoad = function(xmlLoaded){
path = myXML.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue;
tFiles = myXML.firstChild.childNodes.length;
loader();
loader = function() {
mcl.loadClip(path, holder_mc);
mcl.addListener(mclL);
mclL.onLoadComplete = function(target:MovieClip) {
trace(target._width);
trace(holder_mc._height);
..and I still get 0 values. -
How to add a loader to an image gallery loading content using only actionscript
hi i am loading all thumbs and images in a container on a single frame using action script..but the size of the swf becomes 1.2 mb so i want to add a loader to it...the loader i am trying to add counts the frames but my file has just one frame so the loader doesnot show up..
here is the script of my gallery..and the timeline has just one frame...
import mx.transitions.Tween;
import mx.transitions.easing.*;
this.createEmptyMovieClip("container",1);
var imagesNumber:Number = 18;
var scrolling:Boolean = true;
for (i=1; i<=imagesNumber; i++) {
container.attachMovie("thumb"+i,"thumb"+i+"_mc",i);
myThumb_mc = container["thumb"+i+"_mc"];
if (i==1)
myThumb_mc._x = (0.0)*myThumb_mc._width;
else
myThumb_mc._x = ((1.2*i)-1.2)*myThumb_mc._width;
myThumb_mc._y = (Stage.height-myThumb_mc._height)/2;
myThumb_mc._alpha = 100;
myThumb_mc.largerImage = i;
myThumb_mc.onRollOver = function() {
this._alpha = 60;
myThumb_mc.onRollOut = function() {
this._alpha = 100;
myThumb_mc.onRelease = function() {
this._alpha=100;
for (i=1; i<=imagesNumber; i++) {
var myClip = container["thumb"+i+"_mc"];
myClip.enabled = false;
scrolling = false;
_root.attachMovie("image"+this.largerImage,"large_mc",2);
large_mc._x = (Stage.width-large_mc._width)/2;
large_mc._y = (Stage.height-large_mc._height)/2;
new Tween(large_mc, "_alpha", Strong.easeOut, 0, 100, 0.5, true);
new Tween(container,"_alpha",Strong.easeOut,100,50,0.5,true);
large_mc.onRelease = function() {
scrolling = true;
var myFadeOut = new Tween(large_mc, "_alpha", Strong.easeOut, 100, 0, 0.5, true);
new Tween(container,"_alpha",Strong.easeOut,50,100,0.5,true);
myFadeOut.onMotionFinished = function() {
for (i=1; i<=imagesNumber; i++) {
var myClip = container["thumb"+i+"_mc"];
myClip.enabled = true;
large_mc.removeMovieClip();
container.onEnterFrame = function() {
if (scrolling){
this._x += Math.cos((-_root._xmouse/Stage.width)*Math.PI)*20;
if (this._x>0) {
this._x = 0;
if (-this._x>(this._width-Stage.width)) {
this._x = -(this._width-Stage.width);
anyone knows how to add a loadre to this...?
thanks..Check these links for tutorials on loading images
http://www.kirupa.com/developer/flashcs3/loading_image_as3_pg1.htm
http://tutorials.flashmymind.com/2009/02/loading-multiple-images/ -
Adding dynamic images to your website using Dreamweaver
Hi
I've been working on a website which has been in use by public for some months now.
I recently wanted to add a simple product catelogue. I can do this just by creating my database connection and using the recordsets.
However I wanted to add an image thumbnail to each product record.
I found the above topic in the Adobe Help 'Adding dynamic images to your website using Dreamweaver'
What I really would like to know is what exactly is put in the image_location field of the table, how is this field populated and then how to view the picture.
I have tried, as per instructions, but the picture is not showing.
I use php as I dont know coldfusion, but I'm sure the process must be pretty similar.
If anyone can shed some light then that would be really appreciated.
Many thanks lizkomrad78 wrote:
> I'd like to know how do you add background music to a
website using
> dreamweaver CS3?
> I'm using dreamweaver CS3 to create a website for my
church (they
> already have a domain) and I'm trying to figure out how
to add
> background music.
>
> Also, is there a way for me to add a music player or
something to the
> page that starts playing when they enter the site and
let's you pick
> different songs from it?
>
> And lastly, if I just embed a song or whatever it is as
the
> background music, can I make it loop or play a different
song
> afterwards?
As most anyone else will say, so I will say; *please don't
start it
automatically!*
Playing music on a site is fine, but making it play
automatically when you
go to the site will alienate lots of people; especially those
having a quick
web surf at work or who have other music on whilst they're
working.
But back to your question; have a look at the XSPF music
player
http://musicplayer.sourceforge.net/).
It comes in different visual versions
(can modify it with a bit of Flash knowledge), allows you to
select
different songs or just leave it looping, or you can just
loop one song. And
yes, you can make it start automatically.
See
http://www.blastoffmusic.org
for an example of a christian site where it
is used (on the inside pages)
HTH,
Pete.
Peter Connolly
http://www.kpdirection.com
Utah -
I have added an image gallery to my site and would like to add another one..
except when i copy the code the 2nd image gallery doesnt work..
HTML
Javascript
Thanks for your help.Note also that since javax.swing.Icon is an interface, you can simply create an Icon implementation that can draw two (or more) images. You could pass in two ImageIcons into your own class. Example code (untested):
public class MultiIcon implements Icon {
private Icon bottom;
private Icon top;
public MultiIcon(Icon bottom, Icon top) {
this.bottom = bottom;
this.top = top;
public int getIconWidth() {
return Math.max(top.getIconWidth(), bottom.getIconWidth());
public int getIconHeight() {
return Math.max(top.getIconHeight(), bottom.getIconHeight());
public void paintIcon(Component c, Graphics g, int x, int y) {
bottom.paintIcon(c, g, x, y);
top.paintIcon(c, g, x, y);
} -
Button to load dynamic image in interactive form webdynpro for java
Hi all
i tried to use image field to load dynamic image as shown in the online interactive form tutorial
and it worked for test but when try it with view appears inside viewset it doesnt....
so i think if we could call the image after render by pressing a button inside the form it may work
but the problem is i have no idea about how to implement such solution ,so if any one has any idea about how to implement such solution i will be thankful if he can share me the solution.
thanks.....
Naguib..use the following tutorial. it is very easy to follow and it works fine, i have tried that.
http://www.docstoc.com/docs/2540673/How-To-Integrate-ADOBE-form-on-WebdynPro-for-ABAP-and-Deploy-it-
in case of some more problems, ask again and point out the part of tutorial where there is a problem.
Maybe you are looking for
-
"None of the fact tables are compatible with the query request"
Hi guys, I have a weird issue. Previously fine working Subject area started to give this error after migration. The issue is happening when I select a column from dimension and try to display it. Also, I can't get to the list of values in filter I ge
-
After, updting my iPhone 4S to the newest version. I get the picture of the cable to iTunes. Plugged in the phone to the computer, it asks me to restore it to its factory setting. The picture is still on my phone. How can I fix it? Thanks
-
Cannot Compare 2 images in CS4
It appears I cannot compare 2 images with different file extensions in CS4. I am trying to compare a cr2 and psd image but cannot find how. Need advice.
-
Hi guys, We are maintaining medical reimbursement limit of Rs 15000 in 0589 infotype by 00m0 wagetype. But when we are entering medical reimbursement amount by 00m0 wagetype in 0015it, it is not maintaining Rs15000 limit. If we give any amount greate
-
Prevent Portal password from expiring
I need to prevent the portal schema password from expiring. Reason: This prevents the portal getting hung up since the portal password has expired. I tried changing the password policy on OID but it does not help. Any ideas/thoughts?