简体   繁体   中英

display number of lines (pictures in slideshow) in javascript array

I modified the following code of a slideshow to work with lightbox and it works great for me.

The only thing that's missing is something to show how many pictures there will be.

A simple number displayed next to the slideshow like "15" would be nice, two numbers like "7 of 15" would be cool, the absolute burner would be thumbnails highlighted the showing picture.

Ok, here's the whole code. I left the credits in. I would like to know how many "ulitmateshow[x]-images" there are.

Since I have no glue about Javascript, help would be much appreciated.


Edit: Someone knows how to display the number of the showing picture? Then we would be at stage "cool"

// Flexible Image Slideshow- By JavaScriptKit.com (http://www.javascriptkit.com)
// For this and over 400+ free scripts, visit JavaScript Kit- http://www.javascriptkit.com/
// This notice must stay intact for use

var ultimateshow=new Array()

//ultimateshow[x]=["path to image", "OPTIONAL link for image", "OPTIONAL link target"]

ultimateshow[0]=['images/image_1_x.jpg', 'images/image_1_b.jpg', '', 'lightbox[image]', 'title blabla']
ultimateshow[1]=['images/image_2_x.jpg', 'images/image_2_b.jpg', '', 'lightbox[image]', 'title blabla']
ultimateshow[2]=['images/image_3_x.jpg', 'images/image_3_b.jpg', '', 'lightbox[image]', 'title blabla']
ultimateshow[3]=['images/image_4_x.jpg', 'images/image_4_b.jpg', '', 'lightbox[image]', 'title blabla']
ultimateshow[4]=['images/image_5_x.jpg', 'images/image_5_b.jpg', '', 'lightbox[image]', 'title blabla']

//configure the below 3 variables to set the dimension/background color of the slideshow

var slidewidth="500px" //set to width of LARGEST image in your slideshow
var slideheight="334px" //set to height of LARGEST iamge in your slideshow
var slidecycles="continous" //number of cycles before slideshow stops (ie: "2" or "continous")
var randomorder="yes" //randomize the order in which images are displayed? "yes" or "no"
var preloadimages="yes" //preload images? "yes" or "no"
var slidebgcolor='#c0c0c0'

//configure the below variable to determine the delay between image rotations (in miliseconds)
var slidedelay=3000

////Do not edit pass this line////////////////

var ie=document.all
var dom=document.getElementById
var curcycle=0

if (preloadimages=="yes"){
for (i=0;i<ultimateshow.length;i++){
var cacheimage=new Image()
cacheimage.src=ultimateshow[i][0]
}
}

var currentslide=0

function randomize(targetarray){
ultimateshowCopy=new Array()
var the_one
var z=0
while (z<targetarray.length){
the_one=Math.floor(Math.random()*targetarray.length)
if (targetarray[the_one]!="_selected!"){
ultimateshowCopy[z]=targetarray[the_one]
targetarray[the_one]="_selected!"
z++
}
}
}

if (randomorder=="yes")
randomize(ultimateshow)
else
ultimateshowCopy=ultimateshow

function rotateimages(){
curcycle=(currentslide==0)? curcycle+1 : curcycle
ultcontainer='<center>'
if (ultimateshowCopy[currentslide][1]!="")
ultcontainer+='<a href="'+ultimateshowCopy[currentslide][1]+'" target="'+ultimateshowCopy[currentslide][2]+'" rel="'+ultimateshowCopy[currentslide][3]+'" title="'+ultimateshowCopy[currentslide][4]+'">'
ultcontainer+='<img src="'+ultimateshowCopy[currentslide][0]+'" border="0">'
if (ultimateshowCopy[currentslide][1]!="")
ultcontainer+='</a>'
ultcontainer+='</center>'
if (ie||dom)
crossrotateobj.innerHTML=ultcontainer
if (currentslide==ultimateshow.length-1) currentslide=0
else currentslide++
if (curcycle==parseInt(slidecycles) && currentslide==0)
return
setTimeout("rotateimages()",slidedelay)
}

if (ie||dom)
document.write('<div id="slidedom" style="width:'+slidewidth+';height:'+slideheight+'; background-color:'+slidebgcolor+'"></div>')

function start_slider(){
crossrotateobj=dom? document.getElementById("slidedom") : document.all.slidedom
rotateimages()
}

if (ie||dom)
window.onload=start_slider

Use the length property of the array object.

var imageCount = ultimateshow.length;
console.log(imageCount) //logs image count

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM