如何用js做翻页效果

JavaScript027

如何用js做翻页效果,第1张

参考代码如下:

<!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>

    <title></title>

    <script type="text/javascript" language="javascript" src="http://www.codefans.net/ajaxjs/jquery-1.4.2.min.js"></script>

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

    $(function() {

    $("#right").click(function() {

    var roll = $("<div></div>", { css: { position: "absolute", border: "solid 1px #999", left:    "806px", top: "10px", height: "494px", width: "1px", background:                     "#fff"}}).appendTo($("#book").parent())

    $(roll).animate({

    left: "10px",

    width: "398px"

    }, 1000, function() {

    $("#left").css({"background":"#fff"})

    $(roll).fadeOut(300, function() {

    $(roll).remove()

    })

    })

    })

    })

    </script>

    </head>

    <body style="padding:5pxmargin:0">

    <div id="book" style="width:797pxheight:494pxbackground:#cccborder:solid 6px #ccc">

    <div id="left" style="width:398pxheight:494pxfloat:leftbackground:url(http://www.codefans.net/jscss/demoimg/201011/PLh.png) no-repeat top leftcursor:pointer"></div>

    <div id="right" style="width:398pxheight:494pxfloat:leftbackground:#fffcursor:pointermargin-left:1pxtext-align:right"><p style="margin-top:470pxfont-size:12pxcolor:#999">点这翻页  </p></div>

    </div>

    </body>

    </html>

这个是个类似代码 你看看

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

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

<title>JS实现图片翻书效果</title>

<META http-equiv=imagetoolbar content=no>

<STYLE type=text/css>

#center {

LEFT: 50%POSITION: absoluteTOP: 50%

}

#DHTMLBOOK {

BACKGROUND: #000LEFT: -210pxVISIBILITY: hiddenWIDTH: 420pxPOSITION: relativeTOP: -160pxHEIGHT: 320px

}

#TXTBOX {

FONT-SIZE: 0.8emWIDTH: 410pxCOLOR: #aba193FONT-FAMILY: verdanaPOSITION: absoluteTOP: 320pxTEXT-ALIGN: center

}

.page {

OVERFLOW: hiddenBORDER-LEFT: #000000 1px solidWIDTH: 50%CURSOR: pointerPOSITION: absoluteHEIGHT: 100%

}

.right {

BORDER-RIGHT: #000000 1px solidLEFT: 50%

}

.turn {

BACKGROUND: #000000

}

.img {

WIDTH: 200%POSITION: absoluteHEIGHT: 100%

}

</STYLE>

<SCRIPT type=text/javascript><!--

document.onselectstart = function () { return false}

var nI = 0

var kI = 0

var run = false

function setOpacity(obj,o) {

if (o<0) o=0else if (o>100) o = 100

if (obj.filters)obj.filters.alpha.opacity=oelse obj.style.opacity = o/100

}

function TPR__(p) {

P1.style.left = 50-(2.5*p)+"%"

P1.style.width = (2.5*p)+"%"

setOpacity(P1i, .5*p*p)

if (p == 20) run = false

}

function TPR_(p) {

P2.style.width = 50-(2.5*p)+"%"

setOpacity(P2i, 100-.5*(p*p))

if (p == 20) {

P2i.src = IMGSRC[kI].src

setOpacity(P2i, 100)

P2.style.width = "50%"

for(var i=1i<=20i++) setTimeout("TPR__("+i+")", i*32)

}

}

function TPR() {

if (!run) {

run = true

P01i.src = IMGSRC[kI].src

P1.style.width = 0

kI++

if (kI>=nI) kI = 0

titLe(kI)

P02i.src = IMGSRC[kI].src

P1i.src = IMGSRC[kI].src

for (var i=1i<=20i++) setTimeout("TPR_("+i+")", i*32)

} else setTimeout("TPR()", 100)

}

function TPL__(p) {

P2.style.width = (2.5*p)+"%"

setOpacity(P2i, .5*p*p)

if (p == 20) run = false

}

function TPL_(p) {

P1.style.left = (2.5*p)+"%"

P1.style.width = 40+(10-2.5*p)+"%"

setOpacity(P1i, 100-.5*(p*p))

if (p == 20) {

P1i.src = IMGSRC[kI].src

setOpacity(P1i, 100)

P1.style.left = 0

P1.style.width = "50%"

for(var i=1i<=20i++) setTimeout("TPL__("+i+")", i*32)

}

}

function TPL() {

if (!run) {

run = true

P02i.src = IMGSRC[kI].src

P2.style.width = 0

kI--

if (kI <0) kI = nI-1

titLe(kI)

P01i.src = IMGSRC[kI].src

P2i.src = IMGSRC[kI].src

for(var i=1i<=20i++) setTimeout("TPL_("+i+")", i*32)

} else setTimeout("TPL()", 100)

}

function titLe(p) {

document.getElementById("TXTBOX").innerHTML = IMGSRC[p].alt

}

onload = function() {

IMGSRC = document.getElementById("imgsrc").getElementsByTagName("img")

DB = document.getElementById("DHTMLBOOK")

P01 = DB.getElementsByTagName("span")[0]

P01i= P01.getElementsByTagName("img")[0]

P02 = DB.getElementsByTagName("span")[1]

P02i= P02.getElementsByTagName("img")[0]

P1 = DB.getElementsByTagName("span")[2]

P1i = P1.getElementsByTagName("img")[0]

P2 = DB.getElementsByTagName("span")[3]

P2i = P2.getElementsByTagName("img")[0]

nI = IMGSRC.length

P1i.src = IMGSRC[kI].src

P2i.src = IMGSRC[kI].src

titLe(kI)

DB.style.visibility = "visible"

}

//-->

</SCRIPT>

<META content="MSHTML 6.00.6000.16809" name=GENERATOR></HEAD>

<BODY>

<DIV id=center>

<DIV id=DHTMLBOOK><SPAN class=page onMouseDown="return false" ondblclick=TPL()onclick=TPL()><IMG class=img></SPAN>

<SPAN class="page right" onmousedown="return false" ondblclick=TPR()onclick=TPR()><IMG class=img style="LEFT: -100%"></SPAN>

<SPAN class="page turn" onMouseDown="return false" ondblclick=TPL()onclick=TPL()><IMG class=img style="FILTER: alpha()opacity: 1"></SPAN>

<SPAN class="page turn right" onmousedown="return false" ondblclick=TPR()onclick=TPR()><IMG class=img style="FILTER: alpha()LEFT: -100%opacity: 1"></SPAN>

<DIV id=TXTBOX></DIV></DIV></DIV>

<DIV id=imgsrc style="VISIBILITY: hidden">

<IMG alt="In the early morning he departed." src="http://www.lanrentuku.com/down/js/images/12499727220.jpg">

<IMG alt="Believing she had dreamed of the roar of his bike," src="http://www.lanrentuku.com/down/js/images/12499727221.jpg">

<IMG alt="she woke up to the sunshine in her eyelids." src="http://www.lanrentuku.com/down/js/images/12499727222.jpg">

</DIV>

</BODY></HTML>

这个函数是求如图蓝线的长度  黑色是当前窗口   绿色是hover的元素

function move( ev , bool) {

var top = $(this).offset().top

var bottom = top + $(this).height()

var left = $(this).offset().left

var right = left + $(this).width()

这个函数是求相对于当前页面  hover元素的四条边的距离

然后计算

var sT = Math.abs(y - top),   //鼠标位置到hover元素顶部的距离

sB = Math.abs(y - bottom),   //底部

sL = Math.abs(x - left),    //左边

sR = Math.abs(x - right) //右边

var a = Math.min( sT , sB , sL , sR )  //然后在这4个距离里面选出最小值    变量a 就是距离最短的值