用一段js程序來實(shí)現(xiàn)動(dòng)畫功能
更新時(shí)間:2007年03月06日 00:00:00 作者:
自從ie對(duì)flash的顯示方式進(jìn)行改變后,flash這個(gè)東西一下子變成了一個(gè)雞肋。
許許多多的網(wǎng)站都撤掉了以前的flash動(dòng)畫,改用一段js程序來實(shí)現(xiàn)動(dòng)畫功能.
csdn首頁也是如此。。我無聊,自己寫了一個(gè),特點(diǎn)如下:
1.對(duì)搜索引擎友好
2.對(duì)美工友好,因?yàn)閿?shù)據(jù)和代碼是分開的,完全不懂js的都可以用fontpage修改動(dòng)畫內(nèi)容
可以把js代碼保存為一個(gè)文件 然后<script src="1.js"></script>,然后無須修改代碼一個(gè)字母
就可以在多個(gè)頁面中實(shí)現(xiàn)動(dòng)畫了
代碼如下:
<style>
#g_div{text-align:right;overflow:hidden}
.b{width:24px; height:16px; background:#737373; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
.b:hover{width:24px; height:16px; background:#780001; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
.bhover{width:24px; height:16px; background:#780001; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
</style>
<div id="g_div" style="width:270px;height:252px"><a
href="#" target=_blank><img
id="g_img" style="FILTER:revealTrans(duration=1,transition=23);width:266px;height:220px;border:1px green solid" src="http://zi.csdn.net/xian.gif">
</a><a
>1.CSDN程序員</a><a
>2.CSDN程序員</a><a
>3.CSDN程序員</a><a
>4.CSDN程序員</a><a
>5.CSDN程序員</a>
</div>
<script language="JavaScript">
function f(){
var g_sec=3 //幾秒后切換圖片
var g_items=new Array()
var g_div=document.getElementById("g_div")
var g_img=document.getElementById("g_img")
var g_imglink=g_img.parentElement
var arr=g_div.getElementsByTagName("A")
var arr_length=arr.length
var g_index=1
var show_img=function(n){
if (/\d+/.test(n)){
var prev=g_index+1
g_index=n-1
}else{
var prev=(g_index>arr.length)?(arr_length-1):g_index+1
g_index=(g_index<arr_length-2)?(++g_index):0
}
if (document.all){
g_img.filters.revealTrans.Transition=23;
g_img.filters.revealTrans.apply();
g_img.filters.revealTrans.play();
}
arr[prev].className="b"
arr[g_index+1].className="bhover"
g_img.src=g_items[g_index].img.src
g_img.title=g_items[g_index].txt
g_imglink.href=g_items[g_index].url
g_imglink.target=g_items[g_index].target
}
for(var i=1;i<arr_length;i++){
g_items.push({txt:arr[i].innerHTML,
url:arr[i].href,
target:arr[i].target,
img:(function(){var o=new Image;o.src=arr[i].getAttribute("for");return o})()})
arr[i].title=arr[i].innerHTML
arr[i].innerHTML=[i," "].join("")
arr[i].className="b"
arr[i].onclick=function(){
event.returnValue=false;
show_img(event.srcElement.innerText)
}
}
show_img(1)
var t=window.setInterval(show_img,g_sec*1000)
g_img.onmouseover=function(){window.clearInterval(t)}
g_img.onmouseout=function(){t=window.setInterval(show_img,g_sec*1000)}
}
window.attachEvent("onload",f)
</script>
許許多多的網(wǎng)站都撤掉了以前的flash動(dòng)畫,改用一段js程序來實(shí)現(xiàn)動(dòng)畫功能.
csdn首頁也是如此。。我無聊,自己寫了一個(gè),特點(diǎn)如下:
1.對(duì)搜索引擎友好
2.對(duì)美工友好,因?yàn)閿?shù)據(jù)和代碼是分開的,完全不懂js的都可以用fontpage修改動(dòng)畫內(nèi)容
可以把js代碼保存為一個(gè)文件 然后<script src="1.js"></script>,然后無須修改代碼一個(gè)字母
就可以在多個(gè)頁面中實(shí)現(xiàn)動(dòng)畫了
代碼如下:
復(fù)制代碼 代碼如下:
<style>
#g_div{text-align:right;overflow:hidden}
.b{width:24px; height:16px; background:#737373; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
.b:hover{width:24px; height:16px; background:#780001; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
.bhover{width:24px; height:16px; background:#780001; font-size:14px; font-weight:bold; color:#fff; text-decoration:none;margin-left:1px}
</style>
<div id="g_div" style="width:270px;height:252px"><a
href="#" target=_blank><img
id="g_img" style="FILTER:revealTrans(duration=1,transition=23);width:266px;height:220px;border:1px green solid" src="http://zi.csdn.net/xian.gif">
</a><a
>1.CSDN程序員</a><a
>2.CSDN程序員</a><a
>3.CSDN程序員</a><a
>4.CSDN程序員</a><a
>5.CSDN程序員</a>
</div>
<script language="JavaScript">
function f(){
var g_sec=3 //幾秒后切換圖片
var g_items=new Array()
var g_div=document.getElementById("g_div")
var g_img=document.getElementById("g_img")
var g_imglink=g_img.parentElement
var arr=g_div.getElementsByTagName("A")
var arr_length=arr.length
var g_index=1
var show_img=function(n){
if (/\d+/.test(n)){
var prev=g_index+1
g_index=n-1
}else{
var prev=(g_index>arr.length)?(arr_length-1):g_index+1
g_index=(g_index<arr_length-2)?(++g_index):0
}
if (document.all){
g_img.filters.revealTrans.Transition=23;
g_img.filters.revealTrans.apply();
g_img.filters.revealTrans.play();
}
arr[prev].className="b"
arr[g_index+1].className="bhover"
g_img.src=g_items[g_index].img.src
g_img.title=g_items[g_index].txt
g_imglink.href=g_items[g_index].url
g_imglink.target=g_items[g_index].target
}
for(var i=1;i<arr_length;i++){
g_items.push({txt:arr[i].innerHTML,
url:arr[i].href,
target:arr[i].target,
img:(function(){var o=new Image;o.src=arr[i].getAttribute("for");return o})()})
arr[i].title=arr[i].innerHTML
arr[i].innerHTML=[i," "].join("")
arr[i].className="b"
arr[i].onclick=function(){
event.returnValue=false;
show_img(event.srcElement.innerText)
}
}
show_img(1)
var t=window.setInterval(show_img,g_sec*1000)
g_img.onmouseover=function(){window.clearInterval(t)}
g_img.onmouseout=function(){t=window.setInterval(show_img,g_sec*1000)}
}
window.attachEvent("onload",f)
</script>
相關(guān)文章
弱類型語言javascript中 a,b 的運(yùn)算實(shí)例小結(jié)
這篇文章主要介紹了弱類型語言javascript中 a,b 的運(yùn)算,結(jié)合實(shí)例形式總結(jié)分析了js閉包函數(shù)中布爾值與字符串的a,b運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
js中如何對(duì)嵌套數(shù)組進(jìn)行filter過濾
這篇文章主要介紹了js中如何對(duì)嵌套數(shù)組進(jìn)行filter過濾問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
深入理解JavaScript系列(13) This? Yes,this!
在這篇文章里,我們將討論跟執(zhí)行上下文直接相關(guān)的更多細(xì)節(jié)。討論的主題就是this關(guān)鍵字。實(shí)踐證明,這個(gè)主題很難,在不同執(zhí)行上下文中this的確定經(jīng)常會(huì)發(fā)生問題2012-01-01
HTML+CSS+JS實(shí)現(xiàn)抓娃娃機(jī)游戲
這篇文章主要介紹了如何利用HTML+CSS+JS制作抓娃娃機(jī)游戲,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
egg.js的基本使用和調(diào)用數(shù)據(jù)庫(kù)的方法示例
這篇文章主要介紹了egg.js的基本使用和調(diào)用數(shù)據(jù)庫(kù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
在前端中Proj4.js使用簡(jiǎn)單介紹及進(jìn)階應(yīng)用
這篇文章主要介紹了在前端中Proj4.js使用簡(jiǎn)單介紹及進(jìn)階應(yīng)用的相關(guān)資料,Proj4是一個(gè)用于處理JavaScript里的幾何圖形和坐標(biāo)計(jì)算的庫(kù),它提供了多邊形、點(diǎn)、線等幾何對(duì)象的計(jì)算功能,需要的朋友可以參考下2025-01-01

