/    Sign up×
Community /Pin to ProfileBookmark

Hi Experts,
I am new to javascript and making a webpage having a imagescroll

i found the following code and changed it according to my requirement.

but i stuck at one place.. the thumbnails i am showing on my site have aspect ratio maitained, but this script is showing with the predifined size that i give in beginning…

i want to show my thumbnail pics of different size.. please help me in this..

[CODE]<script type=”text/javascript”>

data=[
[” “,” “,” “],
[” “,” “,” “],
[” “,” “,” “],
[” “,” “,” “],
[” “,” “,” “],
[” “,” “,” “],
[” “,” “,” “],
[” “,” “,” “],
[” “,” “,” “],
[” “,” “,” “] // no comma at end of last index
]

function setdata(index, thumbpath, detailpath)
{
data[index][0] = thumbpath;
data[index][1] = “Alt / Click to rate”;
data[index][2] = detailpath;
}

imgPlaces=6 // number of images visible
imgWidth=120 // width of the images
imgHeight=110 // height of the images
imgSpacer=4 // space between the images

dir=0 // 0 = left, 1 = right

newWindow=0 // 0 = Open a new window for links 0 = no 1 = yes

// ********** End User Defining Area **********

moz=document.getElementById&&!document.all

step=1
timer=””
speed=50
nextPic=0
initPos=new Array()
nowDivPos=new Array()

function initHIS3(){

//document.write(data[0][0]);
//document.write(data[1][0]);
//document.write(data[2][0]);

for(var i=0;i<imgPlaces+1;i++){ // create image holders

currentImage=document.getElementById(“pic_”+i)

newImg=document.createElement(“IMG”)
newImg.setAttribute(“id”,”pic_”+i)
newImg.setAttribute(“src”,””)
newImg.style.position=”absolute”
newImg.style.width=imgWidth+”px”
newImg.style.height=imgHeight+”px”
newImg.style.border=0
newImg.alt=””
newImg.i=i
newImg.onclick=function(){his3Win(data[this.i][2])}
document.getElementById(“display_area”).appendChild(newImg)
}

containerEL=document.getElementById(“his3container”)
displayArea=document.getElementById(“display_area”)
pic0=document.getElementById(“pic_0″)

containerBorder=(document.compatMode==”CSS1Compat”?0:parseInt(containerEL.style.borderWidth)*2)
containerWidth=(imgPlaces*imgWidth)+((imgPlaces-1)*imgSpacer)
containerEL.style.width=containerWidth+(!moz?containerBorder:””)+”px”
containerEL.style.height=imgHeight+(!moz?containerBorder:””)+”px”

displayArea.style.width=containerWidth+”px”
displayArea.style.clip=”rect(0,”+(containerWidth+”px”)+”,”+(imgHeight+”px”)+”,0)”
displayArea.onmouseover=function(){stopHIS3()}
displayArea.onmouseout=function(){scrollHIS3()}

imgPos= -pic0.width

for(var i=0;i<imgPlaces+1;i++){
currentImage=document.getElementById(“pic_”+i)

if(dir==0){imgPos+=currentImage.width+imgSpacer} // if left

//doument.write(pic0.width)

initPos[i]=imgPos
if(dir==0){currentImage.style.left=initPos[i]+”px”} // if left

if(dir==1){ // if right
document.getElementById(“pic_”+[(imgPlaces-i)]).style.left=initPos[i]+”px”
imgPos+=currentImage.width+imgSpacer
}

if(nextPic==data.length){nextPic=0}

currentImage.src=data[nextPic][0]
currentImage.alt=data[nextPic][1]
currentImage.i=nextPic
currentImage.onclick=function(){his3Win(data[this.i][2])}
nextPic++
}

scrollHIS3()
}

timer=””
function scrollHIS3(){
clearTimeout(timer)
for(var i=0;i<imgPlaces+1;i++){
currentImage=document.getElementById(“pic_”+i)

nowDivPos[i]=parseInt(currentImage.style.left)

if(dir==0){nowDivPos[i]-=step}
if(dir==1){nowDivPos[i]+=step}

if(dir==0&&nowDivPos[i]<= -(currentImage.width+imgSpacer) || dir==1&&nowDivPos[i]>containerWidth){

if(dir==0){currentImage.style.left=containerWidth+imgSpacer+”px”}
if(dir==1){currentImage.style.left= -currentImage.width-(imgSpacer*2)+”px”}

if(nextPic>data.length-1){nextPic=0}

currentImage.src=data[nextPic][0]
currentImage.alt=data[nextPic][1]
currentImage.i=nextPic
currentImage.onclick=function(){his3Win(data[this.i][2])}

nextPic++

}
else{
currentImage.style.left=nowDivPos[i]+”px”
}

}
timer=setTimeout(“scrollHIS3()”,speed)

}

function stopHIS3(){
clearTimeout(timer)
}

function his3Win(loc){
if(loc==””){return}
if(newWindow==0){
location=loc
}
else{
//window.open(loc)
newin=window.open(loc,’win1′,’left=430,top=340,width=300,height=300′) // use for specific size and positioned window
newin.focus()
}
}

// add onload=”initHIS3()” to the opening BODY tag

// –>
</script>[/CODE]

to post a comment
JavaScript

4 Comments(s)

Copy linkTweet thisAlerts:
@rajat710authorMay 07.2009 — anyone...?
Copy linkTweet thisAlerts:
@skiski89May 07.2009 — I have a few ?S and ill try to help, how many images are there, does there have to be a fade between pics?. See my idea was to use a timer and place the scroller in a loop. This loop will run when called. after say 3 seconds the loop will change the image by changing the source of the image based on a variable. After this the variable will then increment. So say u have 5 images. The variable will change what image is displayed. Also an if statement that will start the variable over is need. Please post back with the requirments of this loop and ill do my best to help you
Copy linkTweet thisAlerts:
@skiski89May 07.2009 — also alot of that code u grabbed is unessecary just wanted you to know.
Copy linkTweet thisAlerts:
@rajat710authorMay 07.2009 — Hi skiski89,

Thanks for your reply..

firstly, i know that lot of code is not needed...i kept it there if in case i want to change the scroll direction or the image navigation then only i have to change the parameters.. as the page is still underdevelopment so it will still go through many changes...

The requirement is that i want to put image marquee, in html we cant have continous one.. so i used javascript. I have 10 images and show 6 images in the marquee..

i have uploaded a screen shot..

i want my marquee to look like the below row.. but its coming like above row..

the below row is static, but i want it as continous marquee..

Thanks for your help in advance

cheers

Rajat

[upl-file uuid=93764770-8025-4b21-955a-c86e9d1e470a size=34kB]screen.JPG[/upl-file]
×

Success!

Help @rajat710 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.17,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @nearjob,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,
)...