Results 1 to 3 of 3

Thread: Problem with jQuery Gallery

  1. #1
    Join Date
    Dec 2013
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    I used an advanced gallery script from your website. It was added to my school's website several years ago. I have been unable to find the problem with the script..Can anyone help? http://www.okaloosa.k12.fl.us/pryor/index.html is the web page. This is the script:
    <!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="content2-Type" content2="text/html; charset=utf-8" />
    <title>Pryor Middle School | Home Page</title>
    <link href="pms.css" rel="stylesheet" type="text/css" />
    <script src="Scripts/AC_RunActivecontent2.js" type="text/javascript"></script>
    <script src="../Scripts/swfobject_modified.js" type="text/javascript"></script>
    <script type="text/javascript">

    /***********************************************
    * Advanced Gallery script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * This notice must stay intact for legal use
    * Visit http://www.dynamicdrive.com/ for full source code
    ***********************************************/

    var tickspeed=8000 //ticker speed in miliseconds (2000=2 seconds)
    var displaymode="auto" //displaymode ("auto" or "manual"). No need to modify as form at the

    bottom will control it, unless you wish to remove form.

    if (document.getElementById){
    document.write('<style type="text/css">\n')
    document.write('.gallerycontent2{display:none;}\n')
    document.write('</style>\n')
    }

    var selectedDiv=0
    var totalDivs=0

    function getElementbyClass(classname){
    partscollect=new Array()
    var inc=0
    var alltags=document.all? document.all.tags("DIV") : document.getElementsByTagName("*")
    for (i=0; i<alltags.length; i++){
    if (alltags[i].className==classname)
    partscollect[inc++]=alltags[i]
    }
    }

    function contractall(){
    var inc=0
    while (partscollect[inc]){
    partscollect[inc].style.display="none"
    inc++
    }
    }

    function expandone(){
    var selectedDivObj=partscollect[selectedDiv]
    contractall()
    selectedDivObj.style.display="block"
    if (document.gallerycontrol)
    temp.options[selectedDiv].selected=true
    selectedDiv=(selectedDiv<totalDivs-1)? selectedDiv+1 : 0
    if (displaymode=="auto")
    autocontrolvar=setTimeout("expandone()",tickspeed)
    }

    function populatemenu(){
    temp=document.gallerycontrol.menu
    for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null
    for (i=0;i<totalDivs;i++){
    var thesubject=partscollect[i].getAttribute("subject")
    thesubject=(thesubject=="" || thesubject==null)? "HTML content2 "+(i+1) : thesubject
    temp.options[i]=new Option(thesubject,"")
    }
    temp.options[0].selected=true
    }

    function manualcontrol(menuobj){
    if (displaymode=="manual"){
    selectedDiv=menuobj
    expandone()
    }
    }

    function preparemode(themode){
    displaymode=themode
    if (typeof autocontrolvar!="undefined")
    clearTimeout(autocontrolvar)
    if (themode=="auto"){
    document.gallerycontrol.menu.disabled=true
    autocontrolvar=setTimeout("expandone()",tickspeed)
    }
    else
    document.gallerycontrol.menu.disabled=false
    }


    function startgallery(){
    if (document.getElementById("controldiv")) //if it exists
    document.getElementById("controldiv").style.display="block"
    getElementbyClass("gallerycontent2")
    totalDivs=partscollect.length
    if (document.gallerycontrol){
    populatemenu()
    if (document.gallerycontrol.mode){
    for (i=0; i<document.gallerycontrol.mode.length; i++){
    if (document.gallerycontrol.mode[i].checked)
    displaymode=document.gallerycontrol.mode[i].value
    }
    }
    }
    if (displaymode=="auto" && document.gallerycontrol)
    document.gallerycontrol.menu.disabled=true
    expandone()
    }

    if (window.addEventListener)
    window.addEventListener("load", startgallery, false)
    else if (window.attachEvent)
    window.attachEvent("onload", startgallery)
    else if (document.getElementById)
    window.onload=startgallery

    </script>
    <script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
    <script type="text/javascript">

    $(document).ready(function() {

    //Execute the slideShow
    slideShow();

    });

    function slideShow() {

    //Set the opacity of all images to 0
    $('#gallery a').css({opacity: 0.0});

    //Get the first image and display it (set it to full opacity)
    $('#gallery a:first').css({opacity: 1.0});


    //Set the caption background to semi-transparent
    $('#gallery .caption').css({opacity: 0.7});

    //Resize the width of the caption according to the image width
    $('#gallery .caption').css({width: $('#gallery a').find('img').css('width')});

    //Get the caption of the first image from REL attribute and display it
    $('#gallery .content2').html($('#gallery a:first').find('img').attr('rel'))
    .animate({opacity: 0.7}, 400);

    //Call the gallery function to run the slideshow, 10000 = change to next image

    after 10 seconds
    setInterval('gallery()',10000);

    }

    function gallery() {

    //if no IMGs have the show class, grab the first image
    var current = ($('#gallery a.show')?$('#gallery a.show') : $('#gallery a:first'));

    //Get next image, if it reached the end of the slideshow, rotate it back to the

    first image
    var next = ((current.next().length) ? ((current.next().hasClass('caption'))?

    $('#gallery a:first') :current.next()) : $('#gallery a:first'));

    //Get next image caption
    var caption = next.find('img').attr('rel');

    //Set the fade in effect for the next image, show class has higher z-index
    next.css({opacity: 0.0})
    .addClass('show')
    .animate({opacity: 1.0}, 1000);

    //Hide the current image
    current.animate({opacity: 0.0}, 1000)
    .removeClass('show');

    //Set the opacity to 0 and height to 1px
    $('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:0

    }).animate({height: '1px'}, { queue:true, duration:300 });

    //Animate the caption, opacity to 0.7 and height to 100px, a slide up effect
    $('#gallery .caption').animate({opacity: 0.7},100 ).animate({height: '100px'},500

    );

    //Display the content2
    $('#gallery .content2').html(caption);


    }

    </script>

    On first opening the site the first image in the gallery seems to load 3 times, once with only the caption.

    Thanks for any help.
    John Z

  2. #2
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    30,495
    Thanks
    82
    Thanked 3,449 Times in 3,410 Posts
    Blog Entries
    12

    Default

    Your school's page is not using that script for the images. It uses a jQuery based one. So I have copied your post here. If I figure out the problem, I will let you know.
    Last edited by jscheuer1; 12-03-2013 at 02:32 PM.
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  3. #3
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    30,495
    Thanks
    82
    Thanked 3,449 Times in 3,410 Posts
    Blog Entries
    12

    Default

    OK, I see now that the page is using the advanced gallery script. But not for the image slideshow that is having the problem. That uses, as I said, a jQuery based script. To fix it, remove the "show" class from all except the first a tag in the gallery. To keep the gallery from jumping around, change the css as indicated:

    Code:
    #gallery {
    	position:relative;
    	height:347px;
    	left: 5px;
    }
    	#gallery a {
    		float:left;
    		position:absolute;
    	}
    	
    	#gallery a img {
    		border:none;
    	}
    	
    	#gallery a.show {
    		position:absolute;
    		/* left:5px; */
    		z-index:500;
    	}
    
    	#gallery .caption {
    	z-index:600;
    	background-color:#262626;
    	color:#f8f8ff;
    	height:100px;
    	width:100%;
    	position:absolute;
    	bottom:0px;
    	/* left: 5px; */
    	top: 248px;
    	}
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

Similar Threads

  1. jQuery gallery above iframe - HELP!
    By spookymix in forum JavaScript
    Replies: 10
    Last Post: 09-23-2010, 09:08 PM
  2. Resolved Can I get Simple Controls Gallery v1.3 to run with jQuery v1.3.2 instead of 1.2.6?
    By chpo in forum Dynamic Drive scripts help
    Replies: 7
    Last Post: 01-07-2010, 08:49 PM
  3. Replies: 1
    Last Post: 10-27-2009, 07:50 AM
  4. JQuery Slider Gallery help
    By IC619 in forum JavaScript
    Replies: 0
    Last Post: 10-29-2008, 07:27 PM
  5. Problem incorporating Cmotion gallery - gallery won't scroll
    By stakey in forum Dynamic Drive scripts help
    Replies: 4
    Last Post: 09-23-2007, 03:40 PM

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
  •