国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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("

  • news
  • ");
    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
    主站蜘蛛池模板: 国产精选在线 | 国产 欧美 日韩 在线 | 亚州一区二区 | 亚洲国产精品日韩在线 | 国内精品久久久久激情影院 | 国产成人亚洲综合a∨婷婷 国产成人免费在线视频 | 亚洲一区二区三区在线播放 | 国产成人在线看 | 黄毛片免费 | 欧美激情综合网 | 欧美日韩国产高清 | 国产一区二区精品久 | 99精品热视频 | 欧美日韩精品一区二区三区视频在线 | 国产日韩欧美亚洲综合首页 | 日日天天| 欧美高清在线精品一区二区不卡 | 美女视频黄a视频全免费应用 | 中文字幕久久亚洲一区 | 久久精品99久久香蕉国产色戒 | 亚洲国产精品一区二区九九 | 欧美日韩高清完整版在线观看免费 | 久久这里只有精品国产 | 久久久久久久久国产 | 国产亚洲一欧美一区二区三区 | 免费观看h | 欧美日视频 | 国产欧美一区二区精品性色99 | 国产91原创 | 国产亚洲欧美精品久久久 | 国产人成精品综合欧美成人 | 日韩va亚洲va欧美va浪潮 | 欧美激情一区二区 | 欧美综合国产精品日韩一 | 国产性做久久久久久 | 一级一级一级毛片 | 九草伊人| 日韩首页 | 精品视频第一页 | 国产成人3p视频免费观看 | 大色欧美 |