如下图,怎么用CSS+JS实现这样的显示图片效果。请高手解答。

JavaScript021

如下图,怎么用CSS+JS实现这样的显示图片效果。请高手解答。,第1张

[HTML部分]

<div id="tbody">

<span class="txt_1">横向的JS相册效果</span>

<div id="mainbody">

<img src="images/01.jpg" alt="横向JS相册" width="640" height="400" id="mainphoto" rel="images/01.jpg" name="#" />

</div>

<img src="images/goleft.gif" width="11" height="56" id="goleft" />

<img src="images/goright.gif" width="11" height="56" id="goright" />

<div id="photos">

<div id="showArea">

<!--src: 缩略图地址 rel: 大图地址 name: 网址 -->

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/02.jpg" alt="横向JS相册" width="80" height="50" rel="images/02.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/02.jpg" alt="横向JS相册" width="80" height="50" rel="images/02.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/02.jpg" alt="横向JS相册" width="80" height="50" rel="images/02.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/02.jpg" alt="横向JS相册" width="80" height="50" rel="images/02.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

<img src="images/02.jpg" alt="横向JS相册" width="80" height="50" rel="images/02.jpg" name="#" />

<img src="images/01.jpg" alt="横向JS相册" width="80" height="50" rel="images/01.jpg" name="#" />

</div>

</div>

</div>

[CSS部分]

body {background:#000margin:0font:12px Verdanatext-align:center}

#tbody {width:650pxmargin:20px autotext-align:left}

#mainbody {width:640pxmargin:5pxborder:1px solid #222padding:1px}

#mainphoto {cursor:pointerdisplay:block}

#goleft {float:leftclear:leftmargin:6px 5px 0 3px}

#goright {float:rightclear:rightmargin:6px 3px 0 5px}

#photos {width:610pxheight:54pxline-height:54pxborder:1px solid #222margin:10px 0overflow:hidden}

#showArea img {display:blockfloat:leftmargin:1px 0cursor:pointerborder:1px solid #222}.txt_1 {font:bold 24px Verdana, Tahomacolor:#fff}

[JS部分]

<script language="javascript" type="text/javascript">

var browse = window.navigator.appName.toLowerCase()

var MyMar

var speed = 1//速度,越大越慢

var spec = 1//每次滚动的间距, 越大滚动越快

var minOpa = 90//滤镜最小值

var maxOpa = 100//滤镜最大值

var spa = 2//缩略图区域补充数值

var w = 0

spec = (browse.indexOf("microsoft") >-1) ? spec : ((browse.indexOf("opera") >-1) ? spec*10 : spec*20)

function $(e) {return document.getElementById(e)}

function goleft() {$('photos').scrollLeft -= spec}

function goright() {$('photos').scrollLeft += spec}

function setOpacity(e, n) {

if (browse.indexOf("microsoft") >-1) e.style.filter = 'alpha(opacity=' + n + ')'

else e.style.opacity = n/100

}

$('goleft').style.cursor = 'pointer'

$('goright').style.cursor = 'pointer'

$('mainphoto').onmouseover = function() {setOpacity(this, maxOpa)}

$('mainphoto').onmouseout = function() {setOpacity(this, minOpa)}

$('mainphoto').onclick = function() {location = this.getAttribute('name')}

$('goleft').onmouseover = function() {this.src = 'images/goleft2.gif'MyMar=setInterval(goleft, speed)}

$('goleft').onmouseout = function() {this.src = 'images/goleft.gif'clearInterval(MyMar)}

$('goright').onmouseover = function() {this.src = 'images/goright2.gif'MyMar=setInterval(goright,speed)}

$('goright').onmouseout = function() {this.src = 'images/goright.gif'clearInterval(MyMar)}

window.onload = function() {

setOpacity($('mainphoto'), minOpa)

var rHtml = ''

var p = $('showArea').getElementsByTagName('img')

for (var i=0i<p.lengthi++) {

w += parseInt(p[i].getAttribute('width')) + spa

setOpacity(p[i], minOpa)

p[i].onclick = function() {location = this.getAttribute('name')}

p[i].onmouseover = function() {

setOpacity(this, maxOpa)

$('mainphoto').src = this.getAttribute('rel')

$('mainphoto').setAttribute('name', this.getAttribute('name'))

setOpacity($('mainphoto'), maxOpa)

}

p[i].onmouseout = function() {

setOpacity(this, minOpa)

setOpacity($('mainphoto'), minOpa)

}

rHtml += '<img src="' + p[i].getAttribute('rel') + '" width="0" height="0" alt="" />'

}

$('showArea').style.width = parseInt(w) + 'px'

var rLoad = document.createElement("div")

$('photos').appendChild(rLoad)

rLoad.style.width = "1px"

rLoad.style.height = "1px"

rLoad.style.overflow = "hidden"

rLoad.innerHTML = rHtml

}

</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="Content-Type" content="text/htmlcharset=gb2312" />

<title>jQuery实现的点击图片放大且在当前页面查看原图丨芯晴网页特效丨CsrCode.Cn</title>

<style type="text/css">

div, ul, li {

margin: 0px

padding: 0px

list-style-type: none

}

#Over {

position: absolute

width: 100%

z-index: 100

left: 0px

top: 0px

}

.img {

width:90%

background-color: #FFF

height: 90%

padding: 3px

border-top-width: 1px

border-right-width: 1px

border-bottom-width: 1px

border-left-width: 1px

border-top-style: solid

border-right-style: solid

border-bottom-style: solid

border-left-style: solid

}

.content {

text-align: center

width: 200px

height:150px

margin-right: auto

margin-left: auto

}

.EnlargePhoto {

cursor: pointer

}

.TempContainer {

position: absolute

z-index: 101

margin-right: 0px

margin-left: 0px

text-align: center

width: 100%

cursor: pointer

}

</style>

</head>

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

<script type="text/javascript">

$(document).ready(function(e) {

var ImgsTObj = $('.EnlargePhoto')//class=EnlargePhoto的都是需要放大的图像

if(ImgsTObj){

$.each(ImgsTObj,function(){

$(this).click(function(){

var currImg = $(this)

CoverLayer(1)

var TempContainer = $('<div class=TempContainer></div>')

with(TempContainer){

appendTo("body")

css('top',currImg.offset().top)

html('<img border=0 src=' + currImg.attr('src') + '>')

}

TempContainer.click(function(){

$(this).remove()

CoverLayer(0)

})

})

})

}

else{

return false

}

//====== 使用/禁用蒙层效果 ========

function CoverLayer(tag){

with($('#Over')){

if(tag==1){

css('height',$(document).height())

css('display','block')

css('opacity',0.9)

css("background-color","#000")

}

else{

css('display','none')

}

}

}

})

</script>

<body>

<div class="content">

<IMG class="img EnlargePhoto" src="/images/m03.jpg"><br /><br />

<IMG class="img EnlargePhoto" src="/images/m04.jpg"><br /><br />

</div>

</body>

</html>

<br>第一次运行本代码,请刷新一下本页面先~~<br>所需js文件:<a href="/images/jquery-1.6.2.min.js" target=_blank>jquery-1.6.2.min.js</a><br><hr><p align="center"><font color=black>本特效由 <a href="http://www.CsrCode.cn" target="_blank">芯晴网页特效</a>丨CsrCode.Cn 收集于互联网,只为兴趣与学习交流,不作商业用途。来源:源码爱好者</font></p>

我修改测试通过一个。但是有个问题。若改成鼠标悬停边缘滚下去,也就是onMouseOver。是停不下来的,会一直滚下去,因为无论怎么样都是鼠标碰触事件。所以我强烈建议用点击事件,onclick。

js css image都是调用的。我都写到页面里了,你自己改下。图片地址我没改。本地测试的。自己换成你的图片。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8">

<title>图片展示特效</title>

<style>

body{ margin:20px autowidth:100%height:auto}

#dHomePageCarousel {

height:221px

width:670px

position:relative

margin:40px auto

}

#dLocalHomesCarousel {

height:131px

margin:0px 2px 3px 1px

overflow:hidden

position:relative

}

.divCarouselInfo {

color:#3C404E

font-size:12px

width:639px

height:64px

line-height:16px

margin-right:15px

padding-top:10px

position:relative

}

.imgBorder{

border:2px solid #fff

position:absolute

cursor:pointer

}

.imgBorder:hover {

border:2px solid #FFAA55

cursor:pointer

position:absolute

}

.btnCarouselLT {

background:url("../images/btn_nav_carousel.png") no-repeat scroll left top transparent

display:block

height:41px

overflow:hidden

position:absolute

cursor:pointer

top:17px

width:40px

}

.btnCarouselRT {

background:url("../images/btn_nav_carousel.png") no-repeat scroll right top transparent

display:block

height:41px

overflow:hidden

position:absolute

cursor:pointer

top:17px

width:40px

}

img {

border:medium none

}

.author{ width:700pxmargin:0 autoheight:autotext-align:center}

</style>

</head>

<body onLoad="clearInterval(autoplay)">

<!-- 头开始 -->

<!-- 滚动房源广告开始 -->

<div id="dHomePageCarousel" style="padding-left:15px">

<div id=dLocalHomesCarousel>

<img id="imgSmallLeft" class="imgBorder" style="height:50pxwidth:70pxleft:10pxbottom:5px" onClick="clearInterval(autoplay)moveD('l')"/>

<img id="imgMiddleLeft" class="imgBorder" style="height:75pxwidth:100pxleft:110pxbottom:5px" onClick="clearInterval(autoplay)move('l')"/>

<img id="imgBig" class="imgBorder" style="height:105px width:140pxleft:240pxbottom:5px" onClick="openNewPage()"/>

<img id="imgMiddleRight" class="imgBorder" style="height:75pxwidth:100px left:410px bottom:5px" onClick="clearInterval(autoplay)move('r')"/>

<img id="imgSmallRight" class="imgBorder" style="width:70pxheight:50pxleft:540pxbottom:5px" onClick="clearInterval(autoplay)moveD('r')"/>

<img id="imgHidden" class="imgBorder" style="width:10pxheight:10pxleft:-90pxbottom:5px"/>

</div>

<script type="text/javascript">

function AdItem(Photo,url) {

this.Photo = Photo

this.url = url

}

var ad = new Array()

ad[0] = new AdItem('images/1.jpg','#')ad[1] = new AdItem('images/2.jpg','#')ad[2] = new AdItem('images/3.jpg','#')ad[3] = new AdItem('images/4.jpg','#')ad[4] = new AdItem('images/5.jpg','#')ad[5] = new AdItem('images/6.jpg','#')

var img = new Array()

img[0] = document.getElementById("imgSmallLeft")

img[1] = document.getElementById("imgMiddleLeft")

img[2] = document.getElementById("imgBig")

img[3] = document.getElementById("imgMiddleRight")

img[4] = document.getElementById("imgSmallRight")

img[5] = document.getElementById("imgHidden")

var position = 0

for(i=0i<img.lengthi++){

img[i].src = ad[i].Photo

}

var cur = 2

adname.href = ad[2].url

</script>

</div>

<script type="text/javascript">

function roll(direction){

var imgLength = img.length

var dataLength = ad.length

var start = position

if('r' == direction){

for(var i=0i<imgLengthi++){

start = start + 1

if(start >(dataLength-1))

start = start - dataLength

img[i].src = ad[start].Photo

}

position = position + 1

if(position >(dataLength-1))

position = position - dataLength

}

if('l' == direction){

var a = true

for(var i=0i<imgLengthi++){

if(a){

start = start - 1

if(start <0){

start = start + dataLength

a = false

}

if(start <(dataLength-1)){

a = false

}

}else{

start = start + 1

if(start >(dataLength-1)){

start = start - dataLength

a = true

}

}

//alert(position + " === " + i + " === " + start)

img[i].src = ad[start].Photo

if(start == (dataLength-1)){

start = -1

}

}

position = position - 1

if(position <0)

position = position + dataLength

}

}

function right(){

i++

var img0H = parseFloat(img[0].style.height)

var img0W = parseFloat(img[0].style.width)

var img0L = parseFloat(img[0].style.left)

var img1H = parseFloat(img[1].style.height)

var img1W = parseFloat(img[1].style.width)

var img1L = parseFloat(img[1].style.left)

var img2H = parseFloat(img[2].style.height)

var img2W = parseFloat(img[2].style.width)

var img2L = parseFloat(img[2].style.left)

var img3H = parseFloat(img[3].style.height)

var img3W = parseFloat(img[3].style.width)

var img3L = parseFloat(img[3].style.left)

var img4H = parseFloat(img[4].style.height)

var img4W = parseFloat(img[4].style.width)

var img4L = parseFloat(img[4].style.left)

var img5H = parseFloat(img[5].style.height)

var img5W = parseFloat(img[5].style.width)

var img5L = parseFloat(img[5].style.left)

//解决IE兼容性问题

if(navigator.userAgent.indexOf("MSIE")>0 &&i%2==0) {

img1W = img1W + 1

img2H = img2H + 1

img2L = img2L + 1

img3H = img3H + 1

img3L = img3L + 1

img4L = img4L + 1

img4W = img4W + 1

}

img[0].style.height = (img0H - 2).toString() + "px"

img[0].style.left = (img0L - 5).toString() + "px"

img[0].style.width = (img0W - 3).toString() + "px"

img[1].style.height = (img1H - 1).toString() + "px"

img[1].style.left = (img1L - 5).toString() + "px"

img[1].style.width = (img1W - 1.5).toString() + "px"

img[2].style.height = (img2H - 1.5).toString() + "px"

img[2].style.left = (img2L - 6.5).toString() + "px"

img[2].style.width = (img2W - 2).toString() + "px"

img[3].style.height = (img3H + 1.5).toString() + "px"

img[3].style.left = (img3L - 8.5).toString() + "px"

img[3].style.width = (img3W + 2).toString() + "px"

img[4].style.height = (img4H + 1).toString() + "px"

img[4].style.left = (img4L - 6.5).toString() + "px"

img[4].style.width = (img4W + 1.5).toString() + "px"

img[5].style.height = (img5H + 2).toString() + "px"

img[5].style.left = (img5L - 5).toString() + "px"

img[5].style.width = (img5W + 3).toString() + "px"

//alert(img[1].style.width)

if(i>19){

clearInterval(hide)

reset()

roll('r')

isRunning = 'false'

}

}

function left(){

i++

var img0H = parseFloat(img[0].style.height)

var img0W = parseFloat(img[0].style.width)

var img0L = parseFloat(img[0].style.left)

var img1H = parseFloat(img[1].style.height)

var img1W = parseFloat(img[1].style.width)

var img1L = parseFloat(img[1].style.left)

var img2H = parseFloat(img[2].style.height)

var img2W = parseFloat(img[2].style.width)

var img2L = parseFloat(img[2].style.left)

var img3H = parseFloat(img[3].style.height)

var img3W = parseFloat(img[3].style.width)

var img3L = parseFloat(img[3].style.left)

var img4H = parseFloat(img[4].style.height)

var img4W = parseFloat(img[4].style.width)

var img4L = parseFloat(img[4].style.left)

var img5H = parseFloat(img[5].style.height)

var img5W = parseFloat(img[5].style.width)

var img5L = parseFloat(img[5].style.left)

//解决IE兼容性问题

if(navigator.userAgent.indexOf("MSIE")>0 &&i%2==0) {

img0W = img0W + 1

img1H = img1H + 1

img1L = img1L + 1

img2H = img2H + 1

img2L = img2L + 1

img3L = img3L + 1

img3W = img3W + 1

}

img[0].style.height = (img0H + 1).toString() + "px"

img[0].style.left = (img0L + 5).toString() + "px"

img[0].style.width = (img0W + 1.5).toString() + "px"

img[1].style.height = (img1H + 1.5).toString() + "px"

img[1].style.left = (img1L + 6.5).toString() + "px"

img[1].style.width = (img1W + 2).toString() + "px"

img[2].style.height = (img2H - 1.5).toString() + "px"

img[2].style.left = (img2L + 8.5).toString() + "px"

img[2].style.width = (img2W - 2).toString() + "px"

img[3].style.height = (img3H - 1).toString() + "px"

img[3].style.left = (img3L + 6.5).toString() + "px"

img[3].style.width = (img3W - 1.5).toString() + "px"

img[4].style.height = (img4H - 2).toString() + "px"

img[4].style.left = (img4L + 5).toString() + "px"

img[4].style.width = (img4W - 3).toString() + "px"

img[5].style.height = (img5H + 2).toString() + "px"

img[5].style.left = (img5L + 5).toString() + "px"

img[5].style.width = (img5W + 3).toString() + "px"

//alert(img[1].style.left)

if(i>19){

clearInterval(hide)

reset()

roll('l')

isRunning = 'false'

}

}

var isRunning

function move(direction){

//alert(isRunning)

if(isRunning != 'udefined' &&isRunning == 'true')

return

frequency = 20

if(navigator.userAgent.indexOf("MSIE")>0) {

frequency = 15

}

if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){

frequency = 20

}

i = 0

if(direction == 'r'){

cur = cur + 1

img[5].style.left = "640px"

hide = setInterval("right()", frequency)

isRunning = 'true'

}

if(direction == 'l'){

cur = cur - 1

img[5].style.left = "-90px"

var pos = position - 1

if(pos <0)

pos = pos + ad.length

img[5].src = ad[pos].Photo

hide = setInterval("left()", frequency)

isRunning = 'true'

}

if(cur >(ad.length - 1))

cur = 0

if(cur <0)

cur = ad.length - 1

//alert(cur)

adname.href = ad[cur].url

if(navigator.userAgent.indexOf("Firefox")>0){

adname.textContent = ad[cur].name

adtel.textContent = ad[cur].phone

adaddr.textContent = ad[cur].address

adprice.textContent = ad[cur].price

adtime.textContent = ad[cur].time

} else {

adname.innerText = ad[cur].name

adtel.innerText = ad[cur].phone

adaddr.innerText = ad[cur].address

adprice.innerText = ad[cur].price

adtime.innerText = ad[cur].time

}

}

function moveC(direction){

if(isRunning != 'true'){

move(direction)

clearInterval(movec)

}

}

function moveD(direction){

move(direction)

if('r' == direction){

movec = setInterval("moveC('r')",5)

} else {

movec = setInterval("moveC('l')",5)

}

}

function reset(){

img[0].style.width = "70px"

img[0].style.height = "50px"

img[0].style.left = "10px"

img[1].style.width = "100px"

img[1].style.height = "75px"

img[1].style.left = "110px"

img[2].style.width = "140px"

img[2].style.height = "105px"

img[2].style.left = "240px"

img[3].style.width = "100px"

img[3].style.height = "75px"

img[3].style.left = "410px"

img[4].style.width = "70px"

img[4].style.height = "50px"

img[4].style.left = "540px"

img[5].style.width = "10px"

img[5].style.height = "10px"

img[5].style.left = "-90px"

}

autoplay = setInterval("move('r')",2000)

function openNewPage(){

window.open(ad[cur].url)

}

</script>

<!-- 滚动房源广告结束 -->

</body>

</html>