js如何实现鼠标经过图片的切换

JavaScript010

js如何实现鼠标经过图片的切换,第1张

您好,这样的:

1、<html>

<head>

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

<title>Jquery deal images</title>

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

<script type="text/javascript">

<!--

//这里是JS代码 ,下面豆芽会写上

//-->

</script>

</head>

<body>

<img src="./images/img02.png" />

</body>

</html>

2、

$(document).ready(function(){

var newImage = new Image()//预载入图片

var oldImage = $('img').attr('src')

newImage.src = './images/img03.jpg'

$('img').hover(function(){ //鼠标滑过图片切换

$('img').attr('src',newImage.src)

},

function(){

$('img').attr('src',oldImage)

})

})

这里大家迷惑的是为什么要预载入图片呢?因为在网站上不像我们本地调试,图片下载这么快。如果是在互联网上,当鼠标滑过将要切换的图片时,替换的图片还要临时下载,加载图片的过程是比较慢的。所以我们预载入图片可以解决这个问题。

<!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>网页特效 首页图片切换</title>

<style type="text/css">

/* Reset style */

* { margin:0padding:0word-break:break-all}

body {

background:#fff

color:#000000

font:12px/1.6em Helvetica, Arial, sans-serif

margin-left: 0px

margin-top: 0px

margin-right: 0px

margin-bottom: 0px

}

h1, h2, h3, h4, h5, h6 { font-size:1em}

a { color:#0287CAtext-decoration:none}

a:hover { text-decoration:underline}

ul, li { list-style:none}

fieldset, img { border:none}

legend { display:none}

em, strong, cite, th { font-style:normalfont-weight:normal}

input, textarea, select, button { font:12px Helvetica, Arial, sans-serif}

table { border-collapse:collapse}

html { overflow:-moz-scrollbars-vertical} /*Always show Firefox scrollbar*/

/* iFocus style */

#ifocus { width:650pxheight:245pxmargin:0pxborder:1px solid #DEDEDEbackground:#F8F8F8}

#ifocus_pic { display:inlineposition:relativefloat:leftwidth:540pxheight:225pxoverflow:hiddenmargin:10px 0 0 10px}

#ifocus_piclist { position:absolute}

#ifocus_piclist li { width:550pxheight:225pxoverflow:hidden}

#ifocus_piclist img { width:550pxheight:225px}

#ifocus_btn { display:inlinefloat:rightwidth:91pxmargin:9px 9px 0 0}

#ifocus_btn li { width:91pxheight:57pxcursor:pointeropacity:0.5-moz-opacity:0.5filter:alpha(opacity=50)}

#ifocus_btn img { width:75pxheight:45pxmargin:7px 0 0 11px}

#ifocus_btn .current { background: url(img/ifocus_btn_bg.gif) no-repeatopacity:1-moz-opacity:1filter:alpha(opacity=100)}

#ifocus_opdiv { position:absoluteleft:0bottom:0width:545pxheight:35pxbackground:#000opacity:0.5-moz-opacity:0.5filter:alpha(opacity=50)}

#ifocus_tx { position:absoluteleft:8pxbottom:8pxcolor:#FFF}

#ifocus_tx .normal { display:none}

</style>

<script type="text/javascript">

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

function addLoadEvent(func){

var oldonload = window.onload

if (typeof window.onload != 'function') {

window.onload = func

} else {

window.onload = function(){

oldonload()

func()

}

}

}

function moveElement(elementID,final_x,final_y,interval) {

if (!document.getElementById) return false

if (!document.getElementById(elementID)) return false

var elem = document.getElementById(elementID)

if (elem.movement) {

clearTimeout(elem.movement)

}

if (!elem.style.left) {

elem.style.left = "0px"

}

if (!elem.style.top) {

elem.style.top = "0px"

}

var xpos = parseInt(elem.style.left)

var ypos = parseInt(elem.style.top)

if (xpos == final_x &&ypos == final_y) {

return true

}

if (xpos <final_x) {

var dist = Math.ceil((final_x - xpos)/10)

xpos = xpos + dist

}

if (xpos >final_x) {

var dist = Math.ceil((xpos - final_x)/10)

xpos = xpos - dist

}

if (ypos <final_y) {

var dist = Math.ceil((final_y - ypos)/10)

ypos = ypos + dist

}

if (ypos >final_y) {

var dist = Math.ceil((ypos - final_y)/10)

ypos = ypos - dist

}

elem.style.left = xpos + "px"

elem.style.top = ypos + "px"

var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")"

elem.movement = setTimeout(repeat,interval)

}

function classNormal(iFocusBtnID,iFocusTxID){

var iFocusBtns= $(iFocusBtnID).getElementsByTagName('li')

var iFocusTxs = $(iFocusTxID).getElementsByTagName('li')

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

iFocusBtns[i].className='normal'

iFocusTxs[i].className='normal'

}

}

function classCurrent(iFocusBtnID,iFocusTxID,n){

var iFocusBtns= $(iFocusBtnID).getElementsByTagName('li')

var iFocusTxs = $(iFocusTxID).getElementsByTagName('li')

iFocusBtns[n].className='current'

iFocusTxs[n].className='current'

}

function iFocusChange() {

if(!$('ifocus')) return false

$('ifocus').onmouseover = function(){atuokey = true}

$('ifocus').onmouseout = function(){atuokey = false}

var iFocusBtns = $('ifocus_btn').getElementsByTagName('li')

var listLength = iFocusBtns.length

iFocusBtns[0].onmouseover = function() {

moveElement('ifocus_piclist',0,0,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',0)

}

if (listLength>=2) {

iFocusBtns[1].onmouseover = function() {

moveElement('ifocus_piclist',0,-225,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',1)

}

}

if (listLength>=3) {

iFocusBtns[2].onmouseover = function() {

moveElement('ifocus_piclist',0,-450,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',2)

}

}

if (listLength>=4) {

iFocusBtns[3].onmouseover = function() {

moveElement('ifocus_piclist',0,-675,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',3)

}

}

}

setInterval('autoiFocus()',3500)

var atuokey = false

function autoiFocus() {

if(!$('ifocus')) return false

if(atuokey) return false

var focusBtnList = $('ifocus_btn').getElementsByTagName('li')

var listLength = focusBtnList.length

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

if (focusBtnList[i].className == 'current') var currentNum = i

}

if (currentNum==0&&listLength!=1 ){

moveElement('ifocus_piclist',0,-225,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',1)

}

if (currentNum==1&&listLength!=2 ){

moveElement('ifocus_piclist',0,-450,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',2)

}

if (currentNum==2&&listLength!=3 ){

moveElement('ifocus_piclist',0,-675,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',3)

}

if (currentNum==3 ){

moveElement('ifocus_piclist',0,0,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',0)

}

if (currentNum==1&&listLength==2 ){

moveElement('ifocus_piclist',0,0,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',0)

}

if (currentNum==2&&listLength==3 ){

moveElement('ifocus_piclist',0,0,5)

classNormal('ifocus_btn','ifocus_tx')

classCurrent('ifocus_btn','ifocus_tx',0)

}

}

addLoadEvent(iFocusChange)

</script>

</head>

<body>

<br />

<div align="center">

<div id="ifocus">

<div id="ifocus_pic">

<div id="ifocus_piclist" style="left:0top:0">

<ul>

<li><a href="#" target="_blank"><img src="/edu/img/js/200909/1.jpg" alt="武林三国" border="0" /></a></li>

<li><a href="#" target="_blank"><img src="/edu/img/js/200909/2.jpg" alt="武林英雄" border="0" /></a></li>

<li><a href="#" target="_blank"><img src="/edu/img/js/200909/3.jpg" alt="商业大亨" border="0" /></a></li>

<li><a href="#" target="_blank"><img src="/edu/img/js/200909/4.jpg" alt="帝国远征" border="0" /></a></li>

</ul>

</div>

<div id="ifocus_opdiv"></div>

<div id="ifocus_tx">

<ul>

<li class="current">2008年度排名第一的网页游戏</li>

<li class="normal">2009年最新的网页游戏 </li>

<li class="normal">商业大亨,挑战亿万富翁</li>

<li class="normal">一款2009年不得不玩的帝国远征</li>

</ul>

</div>

</div>

<div id="ifocus_btn">

<ul>

<li class="current"><img src="/edu/img/js/200909/s1.jpg" alt="" /></li>

<li class="normal"><img src="/edu/img/js/200909/s2.jpg" alt="" /></li>

<li class="normal"><img src="/edu/img/js/200909/s3.jpg" alt="" /></li>

<li class="normal"><img src="/edu/img/js/200909/s4.jpg" alt="" /></li>

</ul>

</div>

</div>

</div>

</body>

</html>

自己改图片链接和大小~~