導航:首頁 > 編程語言 > javascript圖片輪顯

javascript圖片輪顯

發布時間:2023-12-07 10:41:41

1. 網頁輪顯幻燈片是怎麼做的

jsjavaScript)+CSS或Applet做的;
不用什麼軟體。
透明漸變輪番顯示
製作方法:
在<head>標簽下,粘貼代碼
<SCRIPT LANGUAGE="JavaScript">
// 設置輪番顯示速度 Set slideShowSpeed (milliseconds)
var slideShowSpeed = 5000;
// 勻滑轉換時間 Duration of crossfade (seconds)
var crossFadeDuration = 3;
// 指定圖像文件 Specify the image files
var Pic = new Array();
// to add more images, just continue
// the pattern, adding to the array below

Pic[0] = '1.jpg'
Pic[1] = '2.jpg'
Pic[2] = '3.jpg'
Pic[3] = '4.jpg'
Pic[4] = '5.jpg'

// do not edit anything below this line
var t;
var j = 0;
var p = Pic.length;
var preLoad = new Array();
for (i = 0; i < p; i++) {
preLoad = new Image();
preLoad.src = Pic;
}
function runSlideShow() {
if (document.all) {
document.images.SlideShow.style.filter="blendTrans(ration=2)";
document.images.SlideShow.style.filter="blendTrans(ration=crossFadeDuration)";
document.images.SlideShow.filters.blendTrans.Apply();
}
document.images.SlideShow.src = preLoad[j].src;
if (document.all) {
document.images.SlideShow.filters.blendTrans.Play();
}
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed);
}
</script>
修改body:
<body bgcolor="#FFFFFF" text="#000000" onLoad="runSlideShow()">
將表格單元格設置名稱「id=VU」:
<td id=VU>
在<img>中加入代碼:<img src="1.jpg" name='SlideShow'>

至此,我們的效果便製作好了。
製作方法:
1. 在<head>中插入代碼:
<script language='javascript'>
isns = navigator.appName == "Netscape";
//定義播放圖片張數
img1=new Image()
img2=new Image()
img3=new Image()
img4=new Image()
img5=new Image()
//圖片路徑、文件名
img1.src='images/circul-side.gif'
img2.src='images/css-manual.gif'
img3.src='images/kpt7.jpg'
img4.src='images/msn.jpg'
img5.src='images/ps-
}
else
document.pic.visibility='visible'
tt=setTimeout('change_img()',4000)
}
</script>
可以在代碼中按照中文介紹,修改相關信息。
2. 在<body>中載入:<body onload="change_img();">
3. 插入第一張圖片,並命名:id="pic"
插入代碼:style='visibility:hidden;filter:revealtrans(ration=2.0,transition=12)'
參考圖片代碼:
<img src="images/circul-side.gif" name="pic" width="120" height="90" id="pic" style='visibility:hidden;filter:revealtrans(ration=2.0,transition=12)'>

製作完成。

觀看效果

使用CSS中的revealTrans濾鏡製作超弦圖片的播放
CSS 中有revealTrans濾鏡(具體介紹請參看巧用CSS的 RevealTrans 濾鏡),也曾用該濾鏡製作過各種圖片播放的效果(類似於使用CSS濾鏡revealTrans製作圖片漸顯效果)。知道其在網頁中製作特效非常有用處。這次,我們准備介紹另一種使用revealTrans濾鏡製作出超弦圖片播放的效果。
實現思路:使用revealTrans濾鏡製作出超弦圖片播放的效果,並每張圖片有各自的鏈接地址。
製作方法:
1、在<head>中插入JS代碼:
<SCRIPT language=JavaScript1.2>
function reapply(){
setTimeout("slideit()",800)
return true
}
window.onerror=reapply
</SCRIPT>
<SCRIPT language=JavaScript1.1>
<!--
//preload images
var image1=new Image()
image1.src="images/01.jpg"
var image2=new Image()
image2.src="images/02.jpg"
var image3=new Image()
image3.src="images/03.jpg"
var image4=new Image()
image4.src="images/04.jpg"
var image5=new Image()
image5.src="images/05.jpg"
var image6=new Image()
image6.src="images/06.jpg"
var image7=new Image()
image7.src="images/07.jpg"
var image8=new Image()
image8.src="images/08.jpg"
var image9=new Image()
image9.src="images/09.jpg"
//-->
</SCRIPT>
其中:images/big 完整代碼:<img src="images/circul-side.gif" width="120" height="90" border="0" style="FILTER: revealTrans(Duration=2, Transition=23)" name=slide>
4、給圖片加超鏈接:<a href="javascript :slidelink()">
5、加入代碼:
<SCRIPT>
<!--
////change number of images below
var number_of_images=9
//change speed below (in seconds)
var speed=3
var step=1
var whichimage=1
function slideit(){
if (!document.images)
return
if (document.all)
slide.filters.item(0).Apply()
document.images.slide.src=eval("image"+step+".src")
if (document.all)
slide.filters.item(0).Play()
whichimage=step
if (step<number_of_images)
step++
else
step=1
if (document.all)
setTimeout("slideit()",speed*1000+3000)
else
setTimeout("slideit()",speed*1000)
}
function slidelink(){
if (whichimage==1)
top.location.href="/index.html"
if (whichimage==2)
top.location.href="/news.html"
if (whichimage==3)
top.location.href="/game.html"
if (whichimage==4)
top.location.href="/music.html"
if (whichimage==5)
top.location.href="/sport.html"
if (whichimage==6)
top.location.href="/radio.html"
if (whichimage==7)
top.location.href="/travel.html"
if (whichimage==8)
top.location.href="/card.jsp"
else if (whichimage==9)
top.location.href="/study.html"
}
</SCRIPT>
其中:各鏈接地址相對應<head>中插入的JS代碼中的圖片。
注意,頁面地址必須與圖片張數相對應。本教學使用九張圖片,相應就放置九個超鏈接地址。

DHTML幻燈片播放程序
這是一個幻燈片播放程序,也就是一圖片輪流播放的程序。我們在一些站點上可以看見這種形式的廣告播放條,大多是用CGI做的,也就是要伺服器端支持CGI程序,如ASP、PHP、 Perl等。但我們這里的實現方法無需CGI,用的僅是CSS的效果,再加上JavaScripts的控制。只要你的瀏覽器是IE 4.0以上或是Netscape 3.0以上的就可以了。只不過在這里我們用到了CSS的Filter濾鏡效果,該效果只能在IE中出現。有關CSS的Filter濾鏡效果,大家可以參看我的《CSS中Filter濾鏡詳解》,該文章在Yesky.com上已經發表。好了,讓我們來做點准備工作吧。
首先,為了製作這個效果,我們首先要打幾個尺寸一樣大小的圖片,讓其輪流播放。比如,我找了下面三個88x31的圖片做為所用的的圖片。
其次,讓我們再來復習一下CSS中Filter的圖片轉換濾鏡的知識:
CSS中的顯示轉換濾鏡
顯示轉換濾鏡提供的是一種更為多變的轉換效果,它不像混合轉換濾鏡,只提供一種淡入淡出的效果,它還提供了更多的圖片轉換效果,它的語法是:
Filter : RevealTrans ( ration = 轉換的秒數,transition=轉換類型 )
大家可以看見,它有一個轉換類型的參數,這里,它提供了24種轉換類型,我們只需指定轉換類型的代號,就可以讓圖片按特有的轉換效果進行轉換。下表就是24種轉換濾鏡的形式及其對應的代號:
動態轉換濾鏡的屬性、方法和事件
屬性名 說明 取值
ration 圖像轉換的延遲時間,最小單位是毫秒,也就是小數點後第三位。 單位是秒,取值自然數
enabled 指定是否應用濾鏡效果 0表示不應用,非0表示就用。
staus 傳回一個轉換狀態 0表示轉換停止
1表示顯示應用的轉換濾鏡
2表示正在轉換中
方法名 說明
Apply 將濾鏡應用到對象上
Play 開始轉換
Stop 停止轉換
事件名 說明
OnFilterChange 當濾鏡轉變發生改變或是濾鏡完成時所觸發的事件

上面的CSS的轉換濾鏡如何被JavaScripts調用的知識我沒有過多的說明,我只是列舉了他的屬性方法和事件。在後面,我們用 Javascript來控制他的時候,我會告訴大家如何用JavaScripts使其工作的。當然這些濾鏡只能在IE4.0中瀏覽,NetScape不支持,不過,這並不影響netscape中的顯示,只不過Netscape中不會出現圖片轉換的效果了。
下面,我要開始最為核心的部分了,就是編寫javascript程序了。我們的思路是,可以定義一組圖片(若干張),當頁面出現時先顯示第一張圖片,並預載入第二張圖片,第一張圖片載入後5秒鍾,如果第二張圖片也載入了,我們就開始自動切換到第二張圖片,此時並預載入第三張圖片,如果5秒鍾內我們載入了第三張圖片,就自動切換到第三張圖片,如此播放下去直到最後一張又從頭開始。當然,這是自動播放的了。我們還允許用戶手動進行向前和向後的播放。
首先,我們要解決的問題是圖片的預載入,因為這決定了切換過程的流暢性和播放過程的完美性。要預載入一幅圖片很簡單,我們只要在內存中新建一個圖片的實例變數,並把該變數指向一幅圖片,這樣,我們的瀏覽器便會自動載入這幅圖片的,這就是圖片的預載入。用javascript寫出來就是下面這個樣子:
var myImage = new Image()
myImage.src = "someImage.gif"
然後,我們還要知道,圖片是否載入了嗎?如果載入了,我們就顯示,如果沒載入,那麼就要出錯了。於是我們還要改一下上面的代碼,在其中加入兩條語句,所以,這段JavaScript就變成下面的樣子了:

var img = new Image()
img.onload = doReadyImage
img.onerror = doErrorDisplay
img.src = "someImage.gif"
我們加入了圖片的onload和onerror事件,分別代表是否預載和預載出錯的事件。這兩條句語必需在img.src語句的前面。否則的話,圖片預載就會出錯。
最後就是我們的圖片切換程序了,在前面,我們復習了CSS中Filter轉換濾鏡的各種效果,這里我們用代號為23的隨機效果,下面,是我們為在IE中這種效果所寫的JavaScript程序:
if (document.images.slideShow.filters)
{
document.images.slideShow.filters[0].Stop()
document.images.slideShow.filters[0].Apply()
// 使用隨機的轉換效果
document.images.slideShow.filters.revealTrans.transition=23
}
document.images.slideShow.src = sSource
// 開始進行轉換效果的執行
if (document.images.slideShow.filters)
document.images.slideShow.filters[0].Play()
任何人都能將假期的照片放在自己的網站上,但只有最酷的網路構建者會將他們設計成一場幻燈片秀。而且還不是那種簡單的一張照片一個HTML頁面的幻燈片,而是一個真正有動態感的幻燈片秀,每一個影像都下載到同一個HTML頁面去。我們會教你如何使用Dynamic HTML (DHTML)和Cascading Style Sheets(CSS)去構建專屬你個人的幻燈片秀,讓你的朋友、家人和同事覺得更無聊,喔不!是印象更深刻。但是記住!因為這種幻燈片秀是用DHTML 寫的,因此它只能在4.0或以上更新的瀏覽器版本才能看得到。
當然嘍,這種幻燈片秀也有嚴肅的用途。只是我們現在還沒有想到而已。
步驟一
收集你已經准備放在網路上的影像,而且將他們裁成相同的尺寸。確定尺寸范圍不超過640 x 480個像素,而且所有的相片的像素尺寸都要保持相同--如果照片尺寸大小不定,對觀眾而言會造成視覺上的不和諧。
步驟二
在你的頁首標簽里,你首先要做的,就是在<STYLE>標簽里指出使用的是CSS。在<STYLE>標簽里,在你想要幻燈片出現的頁面設定位置,並決定一開頭是否要以空白背景圖表現,或者直接秀出第一張幻燈片。請將下列程序代碼剪貼到你的頁面中,並使用你自己選擇的位置座標:
<STYLE type="text/css"> <!-- .slides {position:absolute; left: 25%; top:25%; visibility:hidden} --> </STYLE>
步驟三
接下來立刻處理CSS的細節部分,還是在頁首標簽中插入JavaScript。在var numSLides =之後,設定要秀出的幻燈片數目(別設太多,因為每一張照片都會為網頁增加可觀的KB數)。我們的範例中有五張照片。以下是程序代碼:
<SCRIPT language="JavaScript1.2"> var numSlides = 5; var currentSlide = numSlides;
步驟四
如果你想加入圖片的解釋說明文字,可以用下列的程序代碼,將我們的說明文字換成你自己的說明文字:
var captionTxt = new Array(numSlides);
function setUpCaptions() {
captionTxt[1] = "39號碼頭入口。"
captionTxt[2] = "海獅在碼頭附近漫步。"
captionTxt[3] = "小船在碼頭*岸。"
captionTxt[4] = "水底世界鯨魚壁畫。"
captionTxt[5] = "海中小島或者是岩石。"
}
步驟五
將這里所示的程序代碼貼到你網頁中的HTML文件,位置就在JavaScript的說明文字下。因為Navigator 4.0和IE 4.0以不同的方式解讀CSS,我們的script就使用對象檢測(object detection)來決定呈現的模式。如果呈現的模式是Navigator,它還是可以定義某些特定的對象,使得IE程序代碼還是有作用。另外這也是整個程序代碼的結尾,所以一定要以</SCRIPT>標簽來作結束:
function setUp() {
if (!document.all) {
document.all = document;
for (i=1;i<=numSlides;i++) document.all[("image"+i)].
style=document.all[("image"+i)];
}
switchSlide(1);
}
function switchSlide(sDir) {
newSlide = currentSlide + sDir;
if (!newSlide) newSlide=numSlides;
if (newSlide > numSlides) newSlide=1;
document.all[("image"+newSlide)].style.visibility="visible";
document.all[("image"+currentSlide)].
style.visibility="hidden";
// 如果不要說明文字,請移除下一行:
document.all["captions"].document.forCaptions.captionsText.
value=captionTxt[newSlide];
currentSlide = newSlide;
}
//-->
</script>

注意那些*近程序代碼結尾的註解:如果你沒有說明文字,那麼就將它下面一行的文字移除。
步驟六
以</HEAD>關閉頁首標簽,然後將下列的程序代碼,貼到網頁HTML文件中的body部分。 注意,程序代碼以個別的<DIV>標簽區分每個影像,他們和正規的<IMG src>格式有關聯:
<BODY onLoad="setUp()">
<B> Builder.com slide show!</B>
<DIV id="image5" class="slides"><IMG src="fifth.jpg"></DIV>
<DIV id="image4" class="slides"><IMG src="fourth.jpg"></DIV>
<DIV id="image3" class="slides"><IMG src="third.jpg"></DIV>
<DIV id="image2" class="slides"><IMG src="second.jpg"></DIV>
<DIV id="image1" class="slides"><IMG src="first.jpg"></DIV>
步驟七
觀眾必須以自己的步調來點按幻燈片,所以你得提供他們點按的東西。。你可以使用簡單老式的超鏈接,但是若有特殊的Previous和Next的GIF點選按鈕,就精巧多了。樣本程序代碼是使用一個table來連接next.gif和previuos.gif:
<DIV style="position:absolute; top:350px; left:100px">
<A href="javascript :switchSlide(-1)"><IMG src="previous.gif" border=0></A>
<A href="javascript :switchSlide(1)"><IMG src="next.gif" border=0></A>
</DIV>
如果你不想用GIF文件來作Previous和Next點選按鈕,用文字取代上面的<IMG>標簽。
步驟八
最後,在<TEXTAREA>輸入欲顯現的說明文字。你可以隨意決定<TEXTAREA>的尺寸大小,只要改變rows=和cols=的數字即可。以下是程序代碼:
<DIV id="captions" style="position:absolute; left: 320px; top:75px">
<B>Picture caption</B>
<FORM name=forCaptions>
<TEXTAREA name="captionsText" wrap="virtual" rows=25 cols=20"></TEXTAREA>
</FORM>
</DIV>

閱讀全文

與javascript圖片輪顯相關的資料

熱點內容
電腦沒聯網怎麼拷貝文件 瀏覽:224
wps工具欄怎麼換成中文 瀏覽:338
win7和xp共享文件 瀏覽:883
蘋果4代音量鍵沒反應 瀏覽:827
怎樣打開tif文件 瀏覽:153
java下載文件zip 瀏覽:440
qq瀏覽器壓縮文件怎麼設密碼 瀏覽:526
黃埔數控編程哪裡好 瀏覽:406
mac109升級1010 瀏覽:691
在java的菜單如何導入文件 瀏覽:982
現在什麼網站銷量最高 瀏覽:760
angularjsclass定義 瀏覽:157
ug數控編程怎麼導出程序 瀏覽:466
cmdb文件 瀏覽:710
鵯文件夾 瀏覽:763
網路輿情應對的基本理念是什麼 瀏覽:433
word2007層次結構 瀏覽:456
去掉文件名的數字 瀏覽:713
word公司 瀏覽:710
淘寶店數據包怎麼上傳 瀏覽:341

友情鏈接