台灣最大程式設計社群網站
線上人數
1446
 
會員總數:231353
接案會員:6788
文章總數:1904
討論主題:175526
歡迎您免費加入會員
討論區列表 >> Script >> 各位學長 不好意思, 請問可以設定秒數設定圖片的 自動換圖要怎麼寫??
[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
各位學長 不好意思, 請問可以設定秒數設定圖片的 自動換圖要怎麼寫??
價值 : 10 QP  點閱數:5102 回應數:8

樓主

小韓
門外漢
0 28
406 113
發送站內信

各位學長 不好意思, 請問可以設定秒數設定圖片的 自動換圖要怎麼寫??謝謝
本篇文章發表於2005-08-25 18:25
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

topcat
捐贈 VP 給 topcat 檢舉此回應
參考一下以下這個吧
裡面有兩個可能符合您的需求

http://www.twbts.com/js/

本篇文章回覆於2005-08-25 18:47
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

Bryan(不來ㄣ)
捐贈 VP 給 Bryan(不來ㄣ) 檢舉此回應
用法:
1.要輪播的圖
Pic[0] = 'images/001.jpg'
Pic[1] = 'images/002.jpg'
Pic[2] = 'images/003.jpg'
Pic[3] = 'images/004.jpg'
Pic[4] = 'images/005.jpg'
Pic[5] = 'images/006.jpg'
Pic[6] = 'images/007.jpg'
Pic[7] = 'images/009.jpg'
Pic[8] = 'images/009.jpg'
Pic[9] = 'images/010.jpg'

2.這裡改成第一張圖的檔名
<img src="images/001.jpg" name="SlideShow"/>
<HTML> 
<HEAD> 
<TITLE>照片自動播放</TITLE> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5"> 
<meta http-equiv="ImageToolBar" content="NO"> 
</HEAD> 
<body bgcolor="#000000" topmargin="0"> 
                                    
<script language="JavaScript" type="text/JavaScript"> 
// (C) 2000 www.CodeLifter.com 
// http://www.codelifter.com 
// Free for all users, but leave in this  header 
// NS4-6,IE4-6 
// Fade effect only in IE; degrades gracefully 

// $Id: slideshow.inc.php,v 1.6 2004/07/24 15:04:09 gaugau Exp $ 

// Set slideShowSpeed (milliseconds) 
var slideShowSpeed = 5000 
// Agent sniffer shamelessly 'stolen' from the excellent X library from cross-browser.com 
var xOp7=false,xOp5or6=false,xIE4Up=false,xNN4=false,xUA=navigator.userAgent.toLowerCase(); 
if(window.opera){ 
  xOp7=(xUA.indexOf('opera 7')!=-1 || xUA.indexOf('opera/7')!=-1); 
  if (!xOp7) xOp5or6=(xUA.indexOf('opera 5')!=-1 || xUA.indexOf('opera/5')!=-1 || xUA.indexOf('opera 6')!=-1 || xUA.indexOf('opera/6')!=-1); 
} 
else if(document.layers) xNN4=true; 
else {xIE4Up=document.all && xUA.indexOf('msie')!=-1 && parseInt(navigator.appVersion)>=4;} 

// Duration of crossfade (seconds) 
var crossFadeDuration = 3 

// Specify the image files 
var Pic = new Array() // don't touch this 
// to add more images, just continue 
// the pattern, adding to the array below 
Pic[0] = 'images/001.jpg' 
Pic[1] = 'images/002.jpg' 
Pic[2] = 'images/003.jpg' 
Pic[3] = 'images/004.jpg' 
Pic[4] = 'images/005.jpg' 
Pic[5] = 'images/006.jpg' 
Pic[6] = 'images/007.jpg' 
Pic[7] = 'images/009.jpg' 
Pic[8] = 'images/009.jpg' 
Pic[9] = 'images/010.jpg' 


var t 
var j = 0 
var p = Pic.length 
var pos = j 

var preLoad = new Array() 

function preLoadPic(index) 
{ 
        if (Pic[index] != ''){ 
                window.status='Loading : '+Pic[index] 
                preLoad[index] = new Image() 
                preLoad[index].src = Pic[index] 
                Pic[index] = '' 
                window.status='' 
        } 
} 

function runSlideShow(){ 
   if (xIE4Up){ 
            document.images.SlideShow.style.filter="blendTrans(duration=2)" 
                document.images.SlideShow.style.filter= "blendTrans(duration=crossFadeDuration)" 
      document.images.SlideShow.filters.blendTrans.Apply() 
        } 
        document.images.SlideShow.src = preLoad[j].src 
        if (xIE4Up){ 
           document.images.SlideShow.filters.blendTrans.Play() 
        } 

        pos = j 

        j = j + 1 
        if (j > (p-1)) j=0 
        t = setTimeout('runSlideShow()', slideShowSpeed) 
        preLoadPic(j) 
} 

preLoadPic(j) 

</script> 

<!-- Start standard table --> 
<div align="center"> 
  <center> 
<table width="600" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#000000"> 
        <tr> 
                <td align="center" height="500"> 
                        <table cellspacing="0" cellpadding="0" style="border-collapse: collapse" bgcolor="#000000"> 
                                <tr> 
                                        <td align="center"> 
                                                <img src="images/001.jpg" name="SlideShow"/><br /> 
                                                
                                        </td> 
                                </tr> 
                        </table> 
<script language="JavaScript" type="text/JavaScript">runSlideShow()</script> 
                </td> 
        </tr> 
</table> 
  </center> 
  </div> 
<!-- End standard table --> 

</body> 
</html>



本篇文章回覆於2005-08-25 20:47
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

Bryan(不來ㄣ)
捐贈 VP 給 Bryan(不來ㄣ) 檢舉此回應
另一種寫法
<html> 
<head> 
<script> 
whatPictures = new Array(); 
whatPictures[0] = "1.jpg"; 
whatPictures[1] = "2.jpg"; 
whatPictures[2] = "3.jpg"; 

var imgIndex = 1; 
function changeImage() 
{ 
   pictureBox.filters[0].apply(); 
   pictureBox.all.image.src=whatPictures[imgIndex]; 
   pictureBox.filters[0].Play(duration=2); 
   imgIndex++; 
   if (imgIndex > 2)  //這裡的數字要改為圖片陣列長度減1 
         imgIndex = 0; 
} 
</script> 
</head> 
<body onload="changeImage()"> 
<table><tr> 
<td id="pictureBox" valign="center" align="center" width="600px" height="600px" style="border: 1px solid grey;" onfilterchange="changeImage()" 
     style="filter:progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0, wipeStyle=0, motion='forward')"> 
<img id="image" style="border: 1px solid black" src="1.jpg"><!--第一張圖片之檔名--> 
</td></tr></table> 
</body> 
</html>



本篇文章回覆於2005-08-25 20:49
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

小韓
檢舉此回應
學長如果每個圖片都要能夠自己設定秒數呢,且還要可以撥放影片檔

本篇文章回覆於2005-08-25 21:17
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

小韓
檢舉此回應
<script type="text/javascript">
var tickercontents=new Array()
tickercontents[0]='<img src="1.gif">'
tickercontents[1]='<img src="1.gif">'
tickercontents[2]='<img src="1.gif">'
tickercontents[3]='<img src="1.gif">'
tickercontents[4]='<embed width="128" height="128" src="yellow.mp3">'

var tickdelay = new Array();
tickdelay[0]=1000
tickdelay[1]=2000
tickdelay[2]=3000
tickdelay[3]=4000
tickdelay[4]=5000

var persistlastviewedmsg=1
var persistmsgbehavior="onload"

//var tickdelay=2000
var divonclick=(persistlastviewedmsg && persistmsgbehavior=="onclick")? 'onClick="savelastmsg()" ' : ''
var currentmessage=0

function changetickercontent(){
if (crosstick.filters && crosstick.filters.length>0)
crosstick.filters[0].Apply()
crosstick.innerHTML=tickercontents[currentmessage]
if (crosstick.filters && crosstick.filters.length>0)
crosstick.filters[0].Play()
currentmessage=(currentmessage==tickercontents.length-1)? currentmessage=0 : currentmessage+1
var filterduration=(crosstick.filters&&crosstick.filters.length>0)? crosstick.filters[0].duration*1000 : 0
//setTimeout("changetickercontent()",tickdelay+filterduration)
setTimeout("changetickercontent()",tickdelay[currentmessage]+filterduration)
}

function beginticker(){
if (persistlastviewedmsg && get_cookie("lastmsgnum")!="")
revivelastmsg()
crosstick=document.getElementById? document.getElementById("memoryticker") : document.all.memoryticker
changetickercontent()
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function savelastmsg(){
document.cookie="lastmsgnum="+currentmessage
}

function revivelastmsg(){
currentmessage=parseInt(get_cookie("lastmsgnum"))
currentmessage=(currentmessage==0)? tickercontents.length-1 : currentmessage-1
}

if (persistlastviewedmsg && persistmsgbehavior=="onload")
window.onunload=savelastmsg

if (document.all||document.getElementById)
document.write('<div style="width:100%" id="memoryticker" '+divonclick+'></div>')
if (window.addEventListener)
window.addEventListener("load", beginticker, false)
else if (window.attachEvent)
window.attachEvent("onload", beginticker)
else if (document.all || document.getElementById)
window.onload=beginticker
</script>

這部分是秒數對應有問題...請各位學長能否幫我看一下哪裡出錯
因為tickercontents[0]='<img src="1.gif">'是跑tickdelay[1]=2000的時間

本篇文章回覆於2005-08-26 08:24
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

小韓
檢舉此回應
學長請問這問題有解嗎?小弟已經陷入死梧桐了

本篇文章回覆於2005-08-27 10:58
--未登入的會員無法查看對方簽名檔--
7樓
最有價值解答

純真的人
捐贈 VP 給 純真的人 檢舉此回應
參考我自己寫的方式..

<div id="dp"></div>
<script>
i = 0;
HtmlStr = new Array(); 
HtmlStr[0] = '<img src="1.gif">;1000'; 
HtmlStr[1] = '<img src="2.gif">;2000'; 
HtmlStr[2] = '<img src="3.gif">;3000';
HtmlStr[3] = '<embed src="3.mid">;4000';
Max = HtmlStr.length-1;

function star(Str){
  dp.innerHTML = Str;
  if(i < Max)
  	i++;
  else
  	i = 0;
  ToStop();
}

function ToPlay(){
  StrTmpe = HtmlStr[i].split(";");
  timeout = setTimeout("star(StrTmpe[0])",StrTmpe[1])
}

function ToStop(){
  clearTimeout(timeout);
  ToPlay();
}
ToPlay();
</script>




本篇文章回覆於2005-08-27 11:57
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

小韓
檢舉此回應
超簡短,感謝學長

本篇文章回覆於2005-08-27 13:12
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.