close




[JS]橫掃各大瀏覽器的隨機顯示網路相本  原始連結








梅問題,隨機顯示網路相本

  之前原本只想利用Dreamweaver內建的滑入滑出功能,加以改造讓它變成類似商品的展示相本,但有些朋友覺得這樣子不夠人性,希望是否能一次設定十張,再透過隨機的方式,自動再抓出五組照片作展示,對於單細胞的梅干而言,實在太困難了,因此尋求好友男丁格爾的協助,終於實現這項超人性化的隨機顯示相本,接下來梅干就為各位來分享,這個橫掃各大瀏覽器,隨機顯示網路相本的作法,另外!男丁老師也開課了囉!喜歡搞網頁特效的朋友一定不能錯過喔!ps.另外也要特別感謝國中同學鬼佑所提供的照片,喜歡他東西的朋友們,也可到他的部落格去晃晃。




經梅干測試結果,目前在IE、Firefox才會有淡入淡出的效果,
其它的瀏覽器則只會切換圖片而無淡入淡出效果。



放在<head>…..</head>之間:


?View Code JAVASCRIPT






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
<script type="text/javascript">
var num=1;
var _ie = true;
 
var myShowImg = [
["img/wowow01s.jpg", "img/wowow01.jpg"],
["img/wowow02s.jpg", "img/wowow02.jpg"],
["img/wowow03s.jpg", "img/wowow03.jpg"],
["img/wowow04s.jpg", "img/wowow04.jpg"],
["img/wowow05s.jpg", "img/wowow05.jpg"],
["img/wowow06s.jpg", "img/wowow06.jpg"],
["img/wowow07s.jpg", "img/wowow07.jpg"],
["img/wowow08s.jpg", "img/wowow08.jpg"],
["img/wowow09s.jpg", "img/wowow09.jpg"],
["img/wowow10s.jpg", "img/wowow10.jpg"]
];
 
var _max = 5;
 
(function(){
var _len = myShowImg.length;
for(var i=0;i<_len;i++){
var s = Math.floor(Math.random()* _len);
var swap = myShowImg[s];
myShowImg[s] = myShowImg[i];
myShowImg[i] = swap;
}
})();
 
function _preloadImg(){
var d=document;
if(d.images){
if(!d._p) d._p=new Array();
var i, _tr = document.getElementById("myShowTr");
for(i=0; i<myShowImg.length; i++){
if(i>=_max) return;
var _c = _tr.insertCell(i);
_c.setAttribute("align", "middle");
_c.setAttribute("valign", "middle");
_c.style.backgroundColor = '#fff';
_c.innerHTML = '<img src="'+myShowImg[i][0]+'" width="80px" height="53px" onmouseover="mm_showpic(\''+myShowImg[i][1]+'\');" style="cursor:pointer;"/>';
}
}
}
 
//判斷瀏覽器
function mm_borwser(){
if (window.XMLHttpRequest) { //Mozilla, Safari,...IE7
if(!window.ActiveXObject){// Mozilla, Safari,...
_ie = false;
document.getElementById("mmmm_showpic").innerHTML="<img src=\""+myShowImg[0][1]+"\" width=\"550\" height=\"367\" id=\"showimg\" style=\"-moz-opacity:0\"/>";
mm_fadein();
}
}
 
if(_ie){//IE6
document.getElementById("mmmm_showpic").innerHTML="<img src=\""+myShowImg[0][1]+"\" width=\"550\" height=\"367\" id=\"showimg\" style=\"filter:alpha(opacity=0);\"/>";
mm_fadein();
}
}
//圖片預載
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//大圖載入
function mm_showpic(img){
if(!_ie){// Mozilla, Safari,...
document.getElementById("showimg").style.MozOpacity=0;
}else{//IE6
document.getElementById("showimg").filters.alpha.opacity=0;
}
document.getElementById("showimg").src = img;
mm_fadein(1);
}
//淡化效果
function mm_fadein(n){
if(!_ie){// Mozilla, Safari,...
var n;
if(n==1){
num=1;
}
if(num !=20) {
num+=1;
document.getElementById("showimg").style.MozOpacity=num/20;
}
}else{//IE6
var n;
if(n==1){
num=1;
}
if(num !=100) {
num+=3;
document.getElementById("showimg").filters.alpha.opacity=num;
}
}
setTimeout('mm_fadein()',0.01); //設定圖片變化速度
}
</script>



放在<body>…..</body>之間:








1 2 3 4 5 6 7 8 9
<body onload="mm_borwser();_preloadImg();MM_preloadImages('img/wowow01.jpg','img/wowow02.jpg','img/wowow03.jpg','img/wowow04.jpg','img/wowow05.jpg','img/wowow06.jpg','img/wowow07.jpg','img/wowow08.jpg','img/wowow09.jpg','img/wowow10.jpg')">
<table width="400" border="0" cellpadding="3" cellspacing="3" bgcolor="#CCCCCC">
<tr>
<td height="367" colspan="5" align="center" valign="middle">
<div id="mmmm_showpic"></div></td>
</tr>
<tr id="myShowTr"></tr>
</table>
</body>



新增圖片:


如果要新增圖片,請在var myShowImg = [ ]中向下新增,
如:["img/wowow09s.jpg", "img/wowow09.jpg"],前面是小圖,彼面是放大圖,
另外若是最後一筆,←這逗號要拿掉,
並且將要載入的大圖寫在MM_preloadImages( )中,
如:’img/wowow01.jpg’,'img/wowow02.jpg’,
先作預載的動作。



[範例預覽]
arrow
arrow
    全站熱搜

    w047 發表在 痞客邦 留言(0) 人氣()