亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > PhpCMS > 正文

phpcms-v9中圖集詳情頁幻燈片特效的js代碼分析

2024-09-10 07:15:12
字體:
來源:轉載
供稿:網友

一.phpcms-v9中圖集詳情頁可以改造成如下這種風格:

二、所用到的js文件有statics/js/jquey.sgallery.js文件和statics/js/show_picture.js文件

1.statics/js/jquey.sgallery.js文件分析:

  1. //圖集詳情頁使用       參數1:scaling-是否自動縮放圖像                參數2:width-自定義寬度              參數3:height-自定義高度             參數4:loadpic-要加載的原始圖片   
  2. jQuery.fn.LoadImage=function(scaling,width,height,loadpic,call_back){   
  3.     //加載中...圖片   
  4.     if(loadpic==null)loadpic="../images/msg_img/loading.gif";   
  5.    return this.each(function(){   
  6.        //t-當前要加載圖片的<img src="">對象   
  7.        var t=$(this);   
  8.        //當前要加載圖片的<img>標簽的src屬性值,即:原圖的src屬性值   
  9.        var src=$(this).attr("src");   
  10.        //創建一個圖像對象   
  11.        var img=new Image();   
  12.        //將原圖的src屬性值賦值給新創建的img對象   
  13.        img.src=src;   
  14.        //自動縮放圖片   
  15.        var autoScaling=function(){   
  16.         //scaling-是否自動縮放圖像   
  17.         if(scaling){   
  18.              //首先要保證要加載的圖像的寬度和高度都大于零   
  19.              if(img.width>0 && img.height>0){    
  20.                    //縮放比率:  要加載圖片的寬度/要加載圖片的高度            >    自定義寬度 /自定義高度   
  21.                    if(img.width/img.height>=width/height){    
  22.                            //要加載圖片的寬度       >  自定義寬度   
  23.                            if(img.width>width){    
  24.                                //將自定義寬度作為要加載圖片的寬度,也就是要加載圖片的寬度被縮小了   
  25.                                t.width(width);   
  26.                                //要加載圖片的高度也做相應的處理   
  27.                                t.height((img.height*width)/img.width);    
  28.                            }else{//要加載圖片的寬度     <     自定義寬度  的情況    
  29.                                t.width(img.width);//將要加載圖片的寬度設置為自定義的寬度    
  30.                                t.height(img.height);//將要加載圖片的高度設置為自定義的高度   
  31.                            }    
  32.                    } else{    
  33.                            if(img.height>height){    
  34.                                t.height(height);    
  35.                                t.width((img.width*height)/img.height);    
  36.                            }else{    
  37.                                t.width(img.width);    
  38.                                t.height(img.height);    
  39.                            }    
  40.                    }    
  41.                }   
  42.         }   
  43.         //參數5:call_back-回調函數,在這里是show_picture.js中的load_images函數   
  44.         //等價于load_images(t.height());   
  45.         //t.height()-圖片被處理后的最終高度   
  46.         call_back(t.height());   
  47.    }   

2.statics/js/show_picture.js文件分析:

  1. $(document).ready(function(){   
  2.     //獲取錨點即當前圖片id   
  3.     //如:會獲取到index.php?m=content&c=index&a=show&catid=71&id=2#3中的#3   
  4.     var picid = location.hash;   
  5.     //將#截取掉,得到當前切換到的圖片id:3   
  6.     picid = picid.substring(1);   
  7.     if(isNaN(picid) || picid=='' || picid==null) {   
  8.         //如果圖片id不存在,則設置為第一張圖片的id   
  9.         picid = 1;   
  10.     }   
  11.     picid = parseInt(picid);   
  12.     //圖集圖片總數   
  13.     var totalnum = $("#pictureurls li").length;   
  14.     //如果當前圖片id大于圖片數,顯示第一張圖片   
  15.     if(picid > totalnum || picid < 1) {   
  16.         picid = 1;   
  17.         next_picid = 1; //下一張圖片id   
  18.     } else {   
  19.         //否則顯示下一張圖片id   
  20.         next_picid = picid + 1;   
  21.     }   
  22.     //要加載的原圖的url地址:通過dom來獲取模板中當前標簽的rel屬性的值   
  23.     url = $("#pictureurls li:nth-child("+picid+") img").attr("rel");   
  24.     //圖集詳情頁幻燈效果中間的大圖,也即:要加載的圖片      ,此標簽是通過js動態創建的,模板文件中原本不存在   
  25.     $("#big-pic").html("<img src='"+url+"' onload='loadpic("+next_picid+")' onclick='showpic(/"next/")' style='cursor:pointer;'>");   
  26.     //自定義要加載圖片的寬度為800、高度為650   
  27.     $('#big-pic img').LoadImage(true, 800, 650,$("#load_pic").attr('rel'),load_images);   
  28.     //如:1/7 - 代表這個圖集中有7張圖片,當前顯示的是第一張圖片   
  29.     $("#picnum").html("<span>"+picid+"</span> / "+totalnum);   
  30.     //當前圖片的描述信息   
  31.     $("#picinfo").html($("#pictureurls li:nth-child("+picid+") img").attr("alt"));   
  32.     //大圖中間的提示信息   
  33.     $("#futitle").fadeIn(3000,function(){   
  34.         $("#futitle").fadeOut(4000);   
  35.     });   
  36.     //切換到對應的圖片   
  37.     $("#pictureurls li").click(function(){   
  38.         i = $(this).index() + 1;   
  39.         showpic(i);//顯示圖片   
  40.     });   
  41.    
  42.     //加載時圖片滾動到中間:獲取所有<li>元素的總寬度   
  43.     var _w = $('.cont li').width()*$('.cont li').length;   
  44.     if(picid>2) {   
  45.         //移動步長   
  46.         movestep = picid - 3;   
  47.     } else {   
  48.         movestep = 0;   
  49.     }   
  50.     var _ws = $('.cont li').width()*movestep;   
  51.     //通過css樣式來控制左移位置   
  52.     $(".cont ul").css({"left":-+_ws});   
  53.    
  54.     //點擊圖片滾動   
  55.     $('.cont ul').width(_w+200);   
  56.     $(".cont li").click( function () {   
  57.         if($(this).index()>2){   
  58.             movestep = $(this).index() - 2;   
  59.             $(".cont ul").css({"left":-+$('.cont li').width()*movestep});   
  60.         }   
  61.     });   
  62.     //當前縮略圖添加樣式   
  63.     $("#pictureurls li:nth-child("+picid+")").addClass("np");   
  64.    
  65. });   
  66.    
  67.    
  68. //通過鍵盤的左右鍵控制圖集詳情頁的幻燈片切換   
  69. $(document).keyup(function(e) {        
  70.     var currKey=0,e=e||event;   
  71.     currKey=e.keyCode||e.which||e.charCode;   
  72.     switch(currKey) {        
  73.         case 37: // left:切換到上一張圖片   
  74.             showpic('pre');   
  75.             break;   
  76.         case 39: // up:切換到下一張圖片   
  77.             showpic('next');   
  78.             break;   
  79.         case 13: // enter:切換圖集   
  80.             var nextpicurl = $('#next_thumb').attr('href');//獲取下一個圖集的url地址   
  81.             if(nextpicurl !== '' || nextpicurl !== 'null') {   
  82.                 window.location=nextpicurl;//直接跳轉到下一圖集   
  83.             }   
  84.             break;   
  85.     }      
  86. });   
  87.    
  88. //圖集詳情頁會使用到此函數:設置要加載圖片的高度   
  89. function load_images(height) {   
  90.     var _h = $("#big-pic img").css("height");   
  91.     $(".tjxx_img").height(_h);   
  92. }   
  93.    
  94.    
  95. //type : next-下一張      pre-上一張     replay:是否重播   
  96. function showpic(type, replay) {   
  97.     //隱藏重復播放div   
  98.     //$("#endSelect").hide();   
  99.    
  100.     //圖集圖片總數   
  101.     var totalnum = $("#pictureurls li").length;   
  102.     if(type=='next' || type=='pre') {   
  103.         //獲取錨點即當前圖片id   
  104.         //如:會獲取到index.php?m=content&c=index&a=show&catid=71&id=2#3中的#3   
  105.         var picid = location.hash;//#3   
  106.         picid = picid.substring(1);//3   
  107.         if(isNaN(picid) || picid=='' || picid==null) {   
  108.             picid = 1;   
  109.         }   
  110.         //當前圖片id   
  111.         picid = parseInt(picid);   
  112.         //下一張   
  113.         if(type=='next') {   
  114.             i = picid + 1;//當前圖片id加1   
  115.             //如果是最后一張圖片,指針指向第一張   
  116.             if(i > totalnum) {   
  117.                 //如果當前是最后一張圖片,提示最后一頁   
  118.                 var next_url = $("#next_thumb").attr('href');   
  119.                 if(next_url!=''){   
  120.                     window.location.href = next_url;//提示最后一張   
  121.                     return false;   
  122.                 }   
  123.                 i=1;//如果是最后一張圖片,指針指向第一張   
  124.                 next_picid=1;//下一張圖片id重置為1   
  125.                 //重新播放   
  126.                 if(replay!=1) {   
  127.                     return false;   
  128.                 }   
  129.             } else {   
  130.                 //下一張圖片id   
  131.                 next_picid = parseInt(i) + 1;   
  132.             }   
  133.         } else if (type=='pre') {   
  134.             i = picid - 1;//當前圖片id減1   
  135.             //如果是第一張圖片,指針指向最后一張   
  136.             if(i < 1) {   
  137.                 i=totalnum;//如果是第一張圖片,指針指向最后一張   
  138.                 next_picid = totalnum;   
  139.             } else {   
  140.                 next_picid = parseInt(i) - 1;   
  141.             }   
  142.         }   
  143.            
  144.         //當前選中的圖片的url   
  145.         url = $("#pictureurls li:nth-child("+i+") img").attr("rel");   
  146.         //圖集詳情頁幻燈效果中間的大圖,也即:要加載的圖片      ,此標簽是通過js動態創建的,模板文件中原本不存在   
  147.         $("#big-pic").html("<img src='"+url+"' onload='loadpic("+next_picid+")' onclick='showpic(/"next/")' style='cursor:pointer;'>");   
  148.         //自定義要加載圖片的寬度為800、高度為650   
  149.         $('#big-pic img').LoadImage(true, 800, 650,$("#load_pic").attr('rel'),load_images);   
  150.         $("#picnum").html("<span>"+i+"</span> / "+totalnum);   
  151.         $("#picinfo").html($("#pictureurls li:nth-child("+i+") img").attr("alt"));   
  152.         //更新錨點   
  153.         location.hash = i;   
  154.         type = i;   
  155.    
  156.         //點擊圖片滾動   
  157.         var _w = $('.cont li').width()*$('.cont li').length+200;   
  158.         if(i>2) {   
  159.             movestep = i - 3;   
  160.         } else {   
  161.             movestep = 0;   
  162.         }   
  163.         var _ws = $('.cont li').width()*movestep;   
  164.         $(".cont ul").css({"left":-+_ws});   
  165.    
  166.     } else if(type=='big') {//查看原圖   
  167.         //獲取錨點即當前圖片id   
  168.         var picid = location.hash;   
  169.         picid = picid.substring(1);   
  170.         if(isNaN(picid) || picid=='' || picid==null) {   
  171.             picid = 1;   
  172.         }   
  173.         picid = parseInt(picid);   
  174.    
  175.         url = $("#pictureurls li:nth-child("+picid+") img").attr("rel");   
  176.         window.open(url);   
  177.     } else {//type:數字類型   
  178.         url = $("#pictureurls li:nth-child("+type+") img").attr("rel");   
  179.         $("#big-pic").html("<img src='"+url+"' onclick='showpic(/"next/")' style='cursor:pointer;'>");   
  180.         //自定義要加載圖片的寬度為800、高度為650   
  181.         $('#big-pic img').LoadImage(true, 800, 650,$("#load_pic").attr('rel'),load_images);   
  182.         //如:1/7 - 代表這個圖集中有7張圖片,當前顯示的是第一張圖片   
  183.         $("#picnum").html("<span>"+type+"</span> / "+totalnum);   
  184.         //當前圖片的描述信息   
  185.         $("#picinfo").html($("#pictureurls li:nth-child("+type+") img").attr("alt"));   
  186.         location.hash = type;   
  187.     }   
  188.    
  189.     $("#pictureurls li").each(function(i){   
  190.         j = i+1;   
  191.         if(j==type) {//當前選中的圖片添加樣式   
  192.             $("#pictureurls li:nth-child("+j+")").addClass("np");   
  193.         } else {   
  194.             $("#pictureurls li:nth-child("+j+")").removeClass();   
  195.         }  //Vevb.com 
  196.     });   
  197. }   
  198.    
  199.    
  200. //預加載圖片   
  201. function loadpic(id) {   
  202.     url = $("#pictureurls li:nth-child("+id+") img").attr("rel");   
  203.     $("#load_pic").html("<img src='"+url+"'>");   
  204. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品美女久久久久久免费| 在线不卡国产精品| xxx欧美精品| 亚洲精品一二区| 欧美日韩亚洲精品内裤| 亚洲午夜久久久久久久| 国产欧美在线播放| 日韩大片免费观看视频播放| 亚洲三级av在线| 欧美中文在线视频| 亚洲精品福利在线| 亚洲精品欧美日韩专区| 亚洲精品一区久久久久久| 97国产成人精品视频| 成人国产精品日本在线| 欧美精品18videos性欧| 日韩免费中文字幕| 57pao国产成人免费| 国产欧美日韩专区发布| 久久综合伊人77777尤物| 日韩成人中文字幕在线观看| 中文字幕亚洲一区| 久久久www成人免费精品张筱雨| 国产在线精品成人一区二区三区| 日本亚洲欧洲色α| 亚洲视频在线免费看| 亚洲成人教育av| 98精品在线视频| 日韩中文字幕在线观看| 国产精品草莓在线免费观看| 亚洲精品免费av| 日韩欧美a级成人黄色| 色偷偷88888欧美精品久久久| 欧美最顶级的aⅴ艳星| 国产精品免费一区二区三区都可以| 美女久久久久久久| 亚洲成人网在线观看| 日韩av男人的天堂| 国产在线观看一区二区三区| 亚洲香蕉成人av网站在线观看| 久久99久久99精品中文字幕| 欧美日韩另类在线| 中文字幕精品一区久久久久| 久久资源免费视频| 欧美尺度大的性做爰视频| 精品亚洲va在线va天堂资源站| 国产亚洲欧洲高清一区| 久久久国产精品亚洲一区| 亚洲欧洲国产伦综合| 国产精品video| 日韩激情视频在线播放| 久久精品国产久精国产一老狼| 国产ts一区二区| 欧美精品免费在线| 欧美日韩免费在线观看| 91精品国产高清| 91在线免费观看网站| 久青草国产97香蕉在线视频| 久热精品在线视频| 欧美在线不卡区| 最近2019中文免费高清视频观看www99| 国产精品久久久久久久9999| 国产欧美日韩免费| 91av在线看| 国产精品极品美女在线观看免费| 欧美性猛交xxxx乱大交极品| 国产亚洲欧美日韩美女| 黄色一区二区三区| 国产成人精品综合| 国产精品日韩电影| 亚洲欧美一区二区三区在线| 欧美尺度大的性做爰视频| 亚洲综合色av| 欧美精品在线看| 久久久亚洲影院你懂的| 国产精品9999| 2019最新中文字幕| 日本在线精品视频| 亚洲一区制服诱惑| 日韩中文字幕网站| 亚洲自拍偷拍区| 亚洲国产精品电影在线观看| 51精品国产黑色丝袜高跟鞋| 国产亚洲精品久久久久久777| 日韩欧美亚洲一二三区| 国内精品久久久久久中文字幕| 久久精品国产亚洲| 4p变态网欧美系列| 国产精品夫妻激情| 精品亚洲一区二区三区在线观看| 欧美人与性动交| 日韩精品福利网站| 国产一区二区三区中文| 色综合久久久888| 亚洲精品国产成人| 88国产精品欧美一区二区三区| 最近2019中文字幕mv免费看| 亚洲一区中文字幕在线观看| 欧美中文在线观看| 国产亚洲精品久久久优势| 国产精品一区二区三区毛片淫片| 一道本无吗dⅴd在线播放一区| 九九九久久国产免费| 91成人在线视频| 亚洲美女www午夜| 国产日产久久高清欧美一区| 亚洲www在线| 日韩激情视频在线| 欧美日韩成人黄色| 日本欧美一二三区| yellow中文字幕久久| 中文字幕国产精品久久| 亚洲人免费视频| 久久久久久国产精品久久| 国产一区香蕉久久| 亚洲一区亚洲二区亚洲三区| 欧美电影免费观看电视剧大全| 久久久久久久91| 日韩精品一区二区三区第95| 久久高清视频免费| 精品小视频在线| 一区二区三区国产视频| 都市激情亚洲色图| 91亚洲午夜在线| 日本乱人伦a精品| 精品小视频在线| 日韩亚洲欧美中文在线| 国产精品欧美一区二区三区奶水| 日韩动漫免费观看电视剧高清| 精品女厕一区二区三区| 一区二区欧美在线| 欧美日韩亚洲视频| 欧美性猛交xxxx偷拍洗澡| 成人激情视频网| 精品久久久久久亚洲精品| 一区二区三区四区在线观看视频| 国产精品久久久久久久7电影| 成人在线视频福利| 日韩在线观看网址| 91成人精品网站| 亚洲一区国产精品| 欧美第一淫aaasss性| 国产日韩欧美自拍| 午夜精品久久久久久久白皮肤| 亚洲有声小说3d| 精品日本高清在线播放| 国产精品吹潮在线观看| 亚洲一区二区三区四区在线播放| 亚洲精品网站在线播放gif| 色www亚洲国产张柏芝| 亚洲综合中文字幕在线| 久久影院资源站| 日韩美女主播视频| 久久综合伊人77777尤物| 成人福利在线观看| 久久久免费高清电视剧观看| 精品国产一区二区三区久久狼5月| 精品国产依人香蕉在线精品| 国产精品永久在线| 日韩av最新在线| 日韩美女在线观看| 成人美女av在线直播| 中文字幕自拍vr一区二区三区| 成人黄色av播放免费|