Results 1 to 7 of 7

Thread: Image Thumbnail Viewer II script

  1. #1
    Join Date
    Dec 2006
    Location
    South Africa
    Posts
    78
    Thanks
    12
    Thanked 0 Times in 0 Posts

    Default Image Thumbnail Viewer II script

    On this page I am using the Image Thumbnail Viewer II script that uses the transition effects of IE but in FF, the transitions are absent.

    http://www.lbk.co.za/Const/Bathroom/Gallery.htm

    Has anyone come up with a code for applying transitions to this script with FF?

    simplegallery1 seems to have smooth transitions so that is more or less what I am looking for. The wipe effect is nice but I guess that will be a huge mod. I use this in many places but in FF it tends to be jerky.

    Oh I have not preloaded images as where I have text it "delays" the important content of the page. I suppose having the loading.gif between files and then a transition would be the cherry on the cake speaking of which, is there a way/tool of throttling down a browser to emulate a 56k dial-up speed?

    Sorry for all these mundane questions.

  2. #2
    Join Date
    Dec 2008
    Location
    Portsmouth, UK
    Posts
    1,891
    Thanks
    2
    Thanked 441 Times in 435 Posts

    Default

    Code:
    <script  src="http://www.vicsjavascripts.org.uk/AnimatorBasic/AnimatorBasic.js" type="text/javascript"></script>
    
    <script type="text/javascript">
    
    /***********************************************
    * Image Thumbnail Viewer II script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
    * This notice must stay intact for legal use
    ***********************************************/
    
    //Specify image paths and optional link (set link to "" for no link):
    var dynimages=new Array()
    dynimages[0]=["http://www.vicsjavascripts.org.uk/StdImages/One.gif",""]
    dynimages[1]=["http://www.vicsjavascripts.org.uk/StdImages/Two.gif",""]
    dynimages[2]=["http://www.vicsjavascripts.org.uk/StdImages/Three.gif",""]
    dynimages[3]=["http://www.vicsjavascripts.org.uk/StdImages/Four.gif",""]
    dynimages[4]=["http://www.vicsjavascripts.org.uk/StdImages/Five.gif",""]
    dynimages[5]=["http://www.vicsjavascripts.org.uk/StdImages/Six.gif",""]
    dynimages[6]=["http://www.vicsjavascripts.org.uk/StdImages/Seven.gif",""]
    dynimages[7]=["http://www.vicsjavascripts.org.uk/StdImages/Eight.gif",""]
    dynimages[8]=["http://www.vicsjavascripts.org.uk/StdImages/Nine.gif",""]
    dynimages[9]=["http://www.vicsjavascripts.org.uk/StdImages/Zero.gif",""]
    
    //Preload images ("yes" or "no"):
    var preloadimg="no"
    
    //Set optional link target to be added to all images with a link:
    var optlinktarget=""
    
    //Set image border width
    var imgborderwidth=1
    
    //Optionally, change 1.0 and 0.7 below to affect Wipe gradient size and duration in seconds in IE5.5+:
    var filterstring="progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=0.6 Duration=0.1)"
    
    ///////No need to edit beyond here/////
    
    if (preloadimg=="yes"){
    for (x=0; x<dynimages.length; x++){
    var myimage=new Image()
    myimage.src=dynimages[x][0]
    }
    }
    
    function returnimgcode(theimg){
    var imghtml=""
    if (theimg[1]!="")
    imghtml='<a href="'+theimg[1]+'" target="'+optlinktarget+'">'
    imghtml+='<img src="'+theimg[0]+'" border="'+imgborderwidth+'">'
    if (theimg[1]!="")
    imghtml+='</a>'
    return imghtml
    }
    
    function modifyimage(loadarea, imgindex){
     if (document.getElementById){
      var imgobj=document.getElementById(loadarea)
      imgobj.innerHTML=returnimgcode(dynimages[imgindex])
      zxcBAnimator('opacity',imgobj,0,100,1000);
     }
    }
    
    
    function FP_preloadImgs() {//v1.0
     var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
     for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
    }
    </script>
    Vic
    God Loves You and will never love you less.
    http://www.vicsjavascripts.org/Home.htm
    If my post has been useful please donate to http://www.operationsmile.org.uk/

  3. #3
    Join Date
    Dec 2006
    Location
    South Africa
    Posts
    78
    Thanks
    12
    Thanked 0 Times in 0 Posts

    Default

    I am already running that script, the wipe transition only works with IE not FF
    Last edited by Bernie Kruger; 11-29-2009 at 01:35 PM.

  4. #4
    Join Date
    Dec 2008
    Location
    Portsmouth, UK
    Posts
    1,891
    Thanks
    2
    Thanked 441 Times in 435 Posts

    Default

    I have modified the script and added an animator for opacity

    you will need to link to

    http://www.vicsjavascripts.org.uk/An...imatorBasic.js

    for the animator script
    Vic
    God Loves You and will never love you less.
    http://www.vicsjavascripts.org/Home.htm
    If my post has been useful please donate to http://www.operationsmile.org.uk/

  5. #5
    Join Date
    Dec 2006
    Location
    South Africa
    Posts
    78
    Thanks
    12
    Thanked 0 Times in 0 Posts

    Default

    Your link does not work

  6. #6
    Join Date
    Dec 2008
    Location
    Portsmouth, UK
    Posts
    1,891
    Thanks
    2
    Thanked 441 Times in 435 Posts

    Default

    Code:
    // Basic Element Animator (11-September-2009)
    // by Vic Phillips http://www.vicsjavascripts.org.uk
    
    // To progressively change the Left, Top, Width, Height or Opacity of an element over a specified period of time.
    // With the ability to scale the effect time on specified minimum/maximum values
    // and with three types of progression 'sin' and 'cos' and liner and an optional 'Bounce'.
    
    // **** Application Notes
    
    // **** The HTML Code
    //
    // when moving an element the inline or class rule style position of the element should be assigned as
    // 'position:relative;' or 'position:absolute;'.
    //
    // The element would normally be assigned a unique ID name.
    //
    
    // **** Executing the Effect(Script)
    //
    // The effect is executed by an event call to function 'zxcBAnimator('width#',document.getElementById('tst'),10,800,5000,[10,800],'sin');'
    // where:
    //  parameter 0 = the mode(see Note 2).                                                                     (string)
    //  parameter 1 = the unique ID name or element object.                                                     (string or element object)
    //  parameter 2 = the start position of the effect.                                                         (digits, for opacity minimum 0, maximum 100)
    //  parameter 3 = the finish position of the effect.                                                        (digits, for opacity minimum 0, maximum 100)
    //  parameter 4 = (optional) period of time between the start and finish of the effect in milliseconds.     (digits or defaults to previous or 0(on first call) milliSeconds)
    //  parameter 5 = (optional) to scale the effect time on a specified minimum/maximum.                       (array, see Note 5)
    //                 field 0 the minimum. (digits)
    //                 field 1 the maximum. (digits)
    //  parameter 6 = (optional) the type of progression, 'sin', 'cos' or 'liner'.                              (string, default = 'liner')
    //                 'sin' progression starts fast and ends slow.
    //                 'cos' progression starts slow and ends fast.
    //
    //  Note 1:  The default units(excepting opacity) are 'px'.
    //  Note 2:  Examples modes: 'left', 'top', 'width', 'height', 'opacity.
    //           For hyphenated modes, the first character after the hyphen must be upper case, all others lower case.
    //  Note 3:  To 'toggle' the effect include '#' in parameter 0.
    //           The first call will set the toggle parameters.
    //           Subsequent calls with '#' in parameter 0 and the same start and finish parameters will 'toggle' the effect.
    //  Note 4:  The function may be re-executed with a different set of parameters (start/finish time or period)
    //           whenever required, say from an onclick/mouseover/out event.
    //           The period parameter will be retained unless re-specified.
    //  Note 5: parameter 5 is of particular use when re-calling the effect
    //          in mid travel to retain an constant rate of progression.
    //  Note 6: parameters 2 and 3 must be different values to execute the script.
    //
    
    // **** Advanced Applications
    //
    //  Calling function 'zxcBAnimator' returns the instance of the script,
    //  this may be assigned to a variable and used to access the current value of the effect or to control the effect.
    //  alternatively the script instance by elementobject[mode.replace(/\W/g,'')+'oop'];
    //  where mode is parameter 0 of the initial call.
    //  An array storing the current, start and finish values of the element effect may be accessed
    //  from the element [instance].data as fields 0, 1 and 2 respectively where [instance] is the instance of the script.
    //
    //  Once initialised the effect may be updated by calling function
    //  [instance].update([100,200])
    //  where:
    //   parameter 0 = an array defining the start and finish values.                                             (array)
    //                  field[0] =the start position of the effect.   (digits, for opacity minimum 0, maximum 100)
    //                  field[0] = the finish position of the effect. (digits, for opacity minimum 0, maximum 100)
    //   parameter 1 = (optional) period of time between the start and finish of the effect in milliseconds.      (digits or defaults to 2000 milliSeconds)
    //   parameter 2 = (optional) to scale the effect time on a specified minimum/maximum.                        (array, see Note 5)
    //                   field 0 the minimum. (digits)
    //                   field 1 the maximum. (digits)
    //   parameter 3 = (optional) the type of progression, 'sin', 'cos' or 'liner'.                               (string, default = 'liner')
    //                  'sin' progression starts fast and ends slow.
    //                  'cos' progression starts slow and ends fast.
    //
    // *** Calling Functions on Completion of the Effect
    //
    //  Functions may be called on completion of the effect by assigning the function
    //  to the animator intance property .Complete e.g. [instance].Complete=zxcBounce;
    //  where zxcBounce is the name of the function.
    //  The animator intance will be passed to the function as argument 0.
    //
    
    // **** General
    //
    // Function names are prefixed with 'zxc' to minimise conflicts with other JavaScripts.
    // These characters may be changed to characters of choice using global find and replace.
    //
    // The Functional Code, about 2.55K with 'bounce' and 'opacity' or 1.97K without is best as an External JavaScript.
    //
    // Tested with IE7 and Mozilla FireFox on a PC.
    //
    
    // **** Functional Code - NO NEED to Change
    
    
    function zxcBAnimator(mde,obj,srt,fin,ms,scale,curve){
     if (typeof(obj)=='string'){ obj=document.getElementById(obj); }
     if (!obj) return;
     var oop=obj[mde.replace(/\W/g,'')+'oop'];
     if (oop){
      if (oop.srtfin[0]==srt&&oop.srtfin[1]==fin&&mde.match('#')) oop.update([oop.data[0],(oop.srtfin[0]==oop.data[2])?fin:srt],ms,scale,curve);
      else oop.update([srt,fin],ms,scale,curve);
     }
     else oop=obj[mde.replace(/\W/g,'')+'oop']=new zxcBAnimatorOOP(mde,obj,srt,fin,ms,scale,curve);
     return oop;
    }
    
    function zxcBAnimatorOOP(mde,obj,srt,fin,ms,scale,curve){
     this.srtfin=[srt,fin];
     this.to=null;
     this.obj=obj;
     this.mde=mde.replace(/\W/g,'');
     this.update([srt,fin],ms,scale,curve);
    }
    
    zxcBAnimatorOOP.prototype.update=function(srtfin,ms,scale,curve){
     clearTimeout(this.to);
     this.time=ms||this.time||0;
     this.data=[srtfin[0],srtfin[0],srtfin[1]];
     this.mS=this.time*(!scale?1:Math.abs((srtfin[1]-srtfin[0])/(scale[1]-scale[0])));
     this.ms=this.mS;
     this.curve=(typeof(curve)=='string')?curve.charAt(0).toLowerCase():(this.curve)?this.curve:'x';
     this.inc=Math.PI/(2*this.mS);
     this.srttime=new Date().getTime();
     this.cng();
    }
    
    zxcBAnimatorOOP.prototype.cng=function(){
     this.ms=new Date().getTime()-this.srttime;
     this.data[0]=(this.curve=='s')?Math.floor((this.data[2]-this.data[1])*Math.sin(this.inc*this.ms)+this.data[1]):(this.curve=='c')?(this.data[2])-Math.floor((this.data[2]-this.data[1])*Math.cos(this.inc*this.ms)):(this.data[2]-this.data[1])/this.mS*this.ms+this.data[1];
     this.apply();
     if (this.ms<this.mS) this.to=setTimeout(function(oop){return function(){oop.cng();}}(this),10);
     else {
      this.data[0]=this.data[2];
      this.apply();
      if (this.Complete) this.Complete(this);
     }
    }
    
    zxcBAnimatorOOP.prototype.apply=function(){
     if (isFinite(this.data[0])){
      if (this.mde!='left'&&this.mde!='top'&&this.data[0]<0) this.data[0]=0;
      if (this.mde!='opacity') this.obj.style[this.mde]=this.data[0]+'px';
      else zxcOpacity(this.obj,this.data[0]);
     }
    }
    
    function zxcOpacity(obj,opc){
     if (opc<0||opc>100) return;
     obj.style.filter='alpha(opacity='+opc+')';
     obj.style.opacity=obj.style.MozOpacity=obj.style.KhtmlOpacity=opc/100-.001;
    }
    Vic
    God Loves You and will never love you less.
    http://www.vicsjavascripts.org/Home.htm
    If my post has been useful please donate to http://www.operationsmile.org.uk/

  7. The Following User Says Thank You to vwphillips For This Useful Post:

    Bernie Kruger (11-30-2009)

  8. #7
    Join Date
    Dec 2006
    Location
    South Africa
    Posts
    78
    Thanks
    12
    Thanked 0 Times in 0 Posts

    Default

    Vic, TY

    Can you perhaps take the code and C&P it into the code of the page I linked?

    I am still a WYSIWYG guy so much of the notes you gave is going over my head.

    If you can do that, I can then C&P what you provide, test and publish for debugging if necessary.

    I am busy implementing all the table changes John gave me and cleaning up these FP generated pages. The link is the one with the least amount of images.

    Thanx

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •