<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        js實現圖片放大縮小功能后進行復雜排序的方法_jquery

        來源:懂視網 責編:小采 時間:2020-11-27 21:05:22
        文檔

        js實現圖片放大縮小功能后進行復雜排序的方法_jquery

        js實現圖片放大縮小功能后進行復雜排序的方法_jquery:這是一個基于jquery的圖片效果,它的作用是:當圖片點擊變大(變小)時,其它圖片按照一定的規則進行排序運動。 首先來看下最終的效果圖: 有人可能看到這個會覺得,這有什么難的,這么簡單的事,樓主是不是太小提大作了?當你真正去嘗試時,你才知道到底有什么
        推薦度:
        導讀js實現圖片放大縮小功能后進行復雜排序的方法_jquery:這是一個基于jquery的圖片效果,它的作用是:當圖片點擊變大(變小)時,其它圖片按照一定的規則進行排序運動。 首先來看下最終的效果圖: 有人可能看到這個會覺得,這有什么難的,這么簡單的事,樓主是不是太小提大作了?當你真正去嘗試時,你才知道到底有什么

        這是一個基于jquery的圖片效果,它的作用是:當圖片點擊變大(變小)時,其它圖片按照一定的規則進行排序運動。

        首先來看下最終的效果圖:

        有人可能看到這個會覺得,這有什么難的,這么簡單的事,樓主是不是太小提大作了?當你真正去嘗試時,你才知道到底有什么難點。

        首先,我們來講下需求:
        1.圖片分為大小和小圖,大圖占四個小圖的位置,
        2.點擊圖片放大縮小, 重新排列順序,
        3. 當點擊偶數列(2,4)時,它前面的那項將向提出來向后面排列
        4.第一個項不能動,點第二個是將占第三四的位置,從后面取第一個小的放置在第二的位置上。
        需求就是這樣的了,現在難度是否有加大呢,我的思路就是按照這個需求一步步去實現的。代碼如下:
        代碼如下:
        var elemArr = $("#old").find("li").get();
        var arrCol=[0,0,0,0];
        var defaultSize = 211;
        function setPosition(elemArr,content,oldContent){
        //alert(elemArr.length)
        if (elemArr.length==0){
        $(oldContent).remove();
        animate(content.find("li"));
        var max = Math.max(arrCol[0],arrCol[1],arrCol[2],arrCol[3])
        $(content).parent().height(max);
        $(content).height(max);
        return;
        }
        var item= $(elemArr.shift());
        if (item.hasClass("big")){
        //大
        var min =computeMin(content);
        var x = min.x;
        var y =min.y;
        if (x==defaultSize){
        var tmp = $("li[x='0'][y='"+y+"']",content);
        if (tmp.hasClass("static")){
        //第一個
        /*
        arrCol[1]=0;
        x=2*defaultSize;
        if ($("li[x='"+x+"'][y='"+y+"']",content).size()>0){
        y=parseInt($("li[x='"+x+"'][y='"+y+"']",content).attr("y"))+2*defaultSize;
        }
        arrCol[1]=0;
        */
        elemArr=insertSmallArr(elemArr,item);
        setPosition(elemArr,content,oldContent);
        return;
        }else{
        elemArr=$("li[x='0'][y='"+y+"']",content).get().concat(elemArr);
        //$("li[x='0'][y='"+y+"']",content).remove();
        x-=defaultSize;
        arrCol[0]-=defaultSize;
        }
        }
        if (x==defaultSize*3){
        elemArr=$("li[x='"+defaultSize*2+"'][y='"+y+"']",content).get().concat(elemArr);
        //$("li[x='200'][y='"+y+"']",content).remove();
        x-=defaultSize;
        arrCol[2]-=defaultSize;
        }
        item.attr({"top":y,"left":x}).attr({"x":x,"y":y});
        if (x==0){
        arrCol[0]+=defaultSize*2;
        arrCol[1]+=defaultSize*2;
        }
        if (x ==defaultSize*2){
        arrCol[2]+=defaultSize*2;
        arrCol[3]+=defaultSize*2;
        }
        }else{
        //小
        var min =computeMin(content);
        var x = min.x;
        var y =min.y;
        item.attr({"top":y,"left":x}).attr({"x":x,"y":y});

        if (x==0){
        arrCol[0]+=defaultSize;
        }
        if (x ==defaultSize){
        arrCol[1]+=defaultSize;
        }
        if (x ==defaultSize*2){
        arrCol[2]+=defaultSize;
        }
        if (x ==defaultSize*3){
        arrCol[3]+=defaultSize;
        }
        }
        $(content).append(item)
        setPosition(elemArr,content,oldContent);
        }
        setPosition(elemArr,$("#news"),$("#old"));
        function insertSmallArr(arr,item){
        arr = item.get().concat(arr);
        var tmpArr =[];
        var first =null;
        for (var i=arr.length-1;i>=0 ;i-- ){
        if (!$(arr[i]).hasClass("big")){
        first=arr[i];
        break;
        }
        }
        if (first){
        tmpArr.push(first);
        }
        for (var i=0,l=arr.length;iif (first !== arr[i]){
        tmpArr.push(arr[i]);
        }
        }

        return tmpArr;
        }
        function computeMin(content){
        var arr = $(content).find("li");
        var miny = Math.min(arrCol[0],arrCol[1],arrCol[2],arrCol[3])
        var minx= 0;
        if (miny==arrCol[3]){
        minx=defaultSize*3;
        }
        if (miny==arrCol[2]){
        minx=defaultSize*2;
        }
        if (miny==arrCol[1]){
        minx=defaultSize;
        }
        if (miny==arrCol[0]){
        minx=0;
        }
        return {x:minx,y:miny};
        }
        $("#main_content").delegate("li","click",function(){
        if ($(this).index()==0){
        return false;
        }
        if (!$(this).hasClass("big")){
        $(this).attr({"h":417,"w":417})
        }else{
        $(this).attr({"h":206,"w":206})
        }
        $(this).toggleClass("big");
        $(this).parent().hide();
        var c =$(this).parent().children();
        c.attr({"x":0,"y":0});
        arrCol=[0,0,0,0];
        var tmpArr = c.get();
        var content = $('');
        $("#main_content").append(content);
        setPosition(tmpArr,content,$(this).parent());
        })
        $("#addNews").click(function(){
        var parent = $(this).closest("ul");
        $(this).parent().after("

      1. news
      2. ");
        var c = parent.children();
        var tmpArr = c.get();
        var content = $('');
        $("#main_content").append(content);
        parent.hide();
        arrCol=[0,0,0,0];
        setPosition(tmpArr,content, parent);
        });
        function animate(arr){

        $(arr).each(function(){
        $(this).animate({
        "top":parseInt($(this).attr("top")),
        "left":parseInt($(this).attr("left")),
        "width":parseInt($(this).attr("w")),
        "height":parseInt($(this).attr("h"))
        })
        });
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        js實現圖片放大縮小功能后進行復雜排序的方法_jquery

        js實現圖片放大縮小功能后進行復雜排序的方法_jquery:這是一個基于jquery的圖片效果,它的作用是:當圖片點擊變大(變小)時,其它圖片按照一定的規則進行排序運動。 首先來看下最終的效果圖: 有人可能看到這個會覺得,這有什么難的,這么簡單的事,樓主是不是太小提大作了?當你真正去嘗試時,你才知道到底有什么
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品国产免费| 成在线人免费无码高潮喷水| 亚洲AV无码乱码在线观看裸奔| 国产亚洲精久久久久久无码| 亚洲视频在线观看不卡| 亚洲国产精品免费观看| 羞羞的视频在线免费观看| 国产免费内射又粗又爽密桃视频 | 国产免费观看青青草原网站| 久久99亚洲综合精品首页| 亚洲av日韩av不卡在线观看| 亚洲AV日韩综合一区尤物| 99精品全国免费观看视频| 亚洲女初尝黑人巨高清| 亚洲AV日韩AV一区二区三曲 | 香港a毛片免费观看 | 好男人视频在线观看免费看片| mm1313亚洲精品国产| 亚洲精品高清国产麻豆专区| 特黄aa级毛片免费视频播放| 亚洲高清成人一区二区三区 | 国产亚洲精彩视频| 免费可以看黄的视频s色| 亚洲国产精品一区二区第一页免 | 91免费国产精品| 亚洲AV永久无码精品一百度影院 | 亚洲Av无码一区二区二三区| 免费福利电影在线观看| 又大又粗又爽a级毛片免费看| 学生妹亚洲一区二区| 亚洲Av无码国产情品久久| 免费播放在线日本感人片| 亚洲精品无码专区在线在线播放| 88xx成人永久免费观看| 亚洲妇女无套内射精| 国产精品久久久久免费a∨| 亚洲黄色免费观看| 日韩伦理片电影在线免费观看| 亚洲无码一区二区三区| 日韩欧美一区二区三区免费观看| 偷自拍亚洲视频在线观看|