jquery+html仿翻頁相冊(cè)功能
今天心情大好,再發(fā)一篇最進(jìn)前端實(shí)現(xiàn)的相冊(cè)模仿功能。
這個(gè)相冊(cè)是在一個(gè)網(wǎng)站的案例展示頁面上實(shí)現(xiàn)的,沒單獨(dú)寫出來,沒時(shí)間,重用性也很差,以后有時(shí)間了再單獨(dú)提取出來,
寫這個(gè)玩意前,我在網(wǎng)上找了一些案例,但是一看代碼都比較傻眼,固不想去研究,所以自己寫了.....
下面是實(shí)現(xiàn)這個(gè)功能的截圖
如果你是一個(gè)前端,這個(gè)功能對(duì)你來說除了邏輯復(fù)雜點(diǎn),其他的可能實(shí)現(xiàn)起都比較簡(jiǎn)單,我不是做前端的,所以前端HTML這塊遇到了一些問題。下面我會(huì)將我遇到的這些問題的解決方法分享出來。
首先說下:postion這個(gè)屬性 以前我要用一般是用這個(gè)屬性值一般是absolute和relative相對(duì)定位和絕對(duì)定位,但是相對(duì)用得都比較少,如果你是前端你應(yīng)該知道,多數(shù)用的是Margin-.....Padding-......,這次用到了postion的fixed:他被用在我的彈出層背景層里面,當(dāng)然用absolute和relative也可以,但是實(shí)踐證明fixed在彈出層遮罩中使用更加精準(zhǔn)合理。為什么我知道勒,這個(gè)是由于中途出現(xiàn)的一個(gè)BUG后被我發(fā)現(xiàn)的..關(guān)于BUG我這里就不談了,反正你記彈出層背景定位時(shí)用POSTION的fixed就對(duì)了。(下面是css樣式表代碼:)
/*相冊(cè)背景層 PhoneTeamrTransperantDiv這個(gè)是DIV,他的父節(jié)點(diǎn)是BODY,在不使用時(shí)你需要設(shè)置他的display:none*/
.PhoneTeamrTransperantDiv{position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color:black; opacity: 0.7; z-index: 2147000002;}
接著說下:拼接table表單, 呵呵關(guān)于這種玩法,做PHP的比較多,ASP.NET的是比較少的,因?yàn)锳SP.NET有相應(yīng)的控件,我現(xiàn)在雖然在ASP.NET的開發(fā)工具平臺(tái)下開發(fā)網(wǎng)站,但是
我已經(jīng)多久沒使用過拖控件的方式了。。。一般都是ASP.NET頁面+HTML+AJAX做網(wǎng)站。 關(guān)于這個(gè)拼接table中所遇被我解決的問題,是我1-2年前做網(wǎng)站沒解決的, 這次被我解決了呵呵,這個(gè)問題就是使用jquery來操作拼接中的標(biāo)簽,上次沒解決我使用了javascript方法代替。這次MD標(biāo)簽多了,我是死了心要用jquery,沒想到,功夫不負(fù)有心人,這問題就這樣被我給解決了。 解決方法:將操作拼接table標(biāo)簽的juqery方法寫在拼接table標(biāo)簽方法的的內(nèi)部(下面我貼代碼):
/*------------------------點(diǎn)擊后將相冊(cè)需要加載的這個(gè)項(xiàng)目的所有圖片展示到一個(gè)彈出層中(小圖片)---------------------------------*/ $(function () { $(".transparentDiv").click(function (e) { var el = e.srcElement || e.target; var transparentBackViewArray = $(".transparentDiv"); var AppTitleArray = $(".appDetialTitleClass"); for (var i = 0; i < transparentBackViewArray.length; i++) { var focusTransparentBackView = transparentBackViewArray[i]; if (el == focusTransparentBackView) { var pointTitle = AppTitleArray[i];//根據(jù)title去查詢需要加載的說明圖片 //transParentLawyer全屏幕遮蔽層 $("#masterDiv").after('<div class="transParentLawyer" onclick=' + "closeAllCorver()" + ' style="display:block"> </div>') /* .transParentLawyer{position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #666666; opacity: 0.5; z-index: 2147000000;}*/ var addPxWidth = document.documentElement.clientWidth; var addPxHeight = document.documentElement.clientHeight; var alertBackDivWidth = 555; var alertBackDivHeight = 525; var alertBackStyleMarginLeft = (addPxWidth - alertBackDivWidth) / 2; var alertBackStyleMarginTop = (addPxHeight - alertBackDivHeight) / 2; var createLeft = alertBackStyleMarginLeft.toString() + 'px'; var createTop = alertBackStyleMarginTop.toString() + 'px'; var ProjectName = "捉大毛APP"; var combindTable = "<div id='contentShowAppProjectImageDiv' style=' width:100%;height:30px;background:#dcdcdc; margin-top:5px;border-bottom:1px solid #b3b3b3;'><h3 style='text-align:center;color:#666666'>" + ProjectName + "</h3><a class='clsBtn' onclick=" + "closeAllCorver()" + "></a> </div>" combindTable += "<div id='showAppImageContainerView' style='overFlow-y:scroll;overFlow-x:scroll;margin-top:0px; width:100%;height:495px;background:#dcdcdc;'><table id='showProjectDetailTable' cellspacing='0'>"; for (var i = 0; i < 5; i++) { combindTable += "<tr><td><div class='showProjectDetailBackImageDivForImgApp'><img class='showPorjectAppImg' src='../Source/webSite.jpg'/></div></td><td><div class='showProjectDetailBackImageDivForImgApp'><img class='showPorjectAppImg' src='../Source/phoneAppBackPanel1.jpg'/></div></td><td><div class='showProjectDetailBackImageDivForImgApp'><img class='showPorjectAppImg' src='../Source/phoneAppBackPanel1.jpg'/></div></td><td><div class='showProjectDetailBackImageDivForImgApp'><img class='showPorjectAppImg' src='../Source/phoneAppBackPanel1.jpg'/></div></td><td><div class='showProjectDetailBackImageDivForImgApp'><img class='showPorjectAppImg' src='../Source/phoneAppBackPanel1.jpg'/></div></td></tr>"; } //overFlow-y:scroll;overFlow-x:scroll; combindTable += '<table/></div>' $(".transParentLawyer").after('<div class="imageContentLawyer" style=" position: fixed; width: 555px; height:525px; background-color: white; z-index: 2147000001; display:block;top:' + createTop + ';left:' + createLeft + ';border-radius: 5px;background:#dcdcdc;">' + combindTable + ' </div>') break; } }//將jquery方法寫在拼接table標(biāo)簽的jquery方法體內(nèi),而且要放在拼接操作的后面 /*-----------彈出相冊(cè)加載圖片監(jiān)聽(為什么寫在這里勒應(yīng)為,我們上面的方法執(zhí)行了完畢了(將我們需要加載的標(biāo)簽拼接好,才有我們需要操作的標(biāo)簽,-------------------* / $(".showPorjectAppImg").click(function(e) { var imageArray = $(".showPorjectAppImg"); var el = e.srcElement || e.target; //相冊(cè)遮罩層 var imagePath; for (var i = 0; i < imageArray.length; i++) { var obj = imageArray[i]; if(el==obj) { currentAlbumIndex = i; imagePath = obj.src; break; } } var addPxWidth = document.documentElement.clientWidth; var addPxHeight = document.documentElement.clientHeight; var alertBackDivWidth = 320; var alertBackDivHeight = 560; var alertBackStyleMarginLeft = (addPxWidth - alertBackDivWidth) / 2; var alertBackStyleMarginTop = (addPxHeight - alertBackDivHeight) / 2; var createLeft = alertBackStyleMarginLeft.toString() + 'px'; var createTop = alertBackStyleMarginTop.toString() + 'px'; $("#masterDiv").after('<div class="PhoneTeamrTransperantDiv" style="display:block"> </div>') //src="+'"'+ imagePath +'"'+"/> 呵呵拼接的彈出圖片 $(".PhoneTeamrTransperantDiv").after('<div class="albumShowImageDiv" style="box-shadow: -20px 20px 20px rgba(0, 0, 0, 0.3); position: fixed; width: 320px; height:560px; background-color: white;display:block; z-index: 2147000003; display:block;top:' + createTop + ';left:' + createLeft + ';border-radius: 5px;background:#dcdcdc;"> ' + "<img id='rollAblumImage' align='absmiddle' width='312' height='552' style='padding-left:4px;padding-top:4px;' src="+'"'+ imagePath +'"'+"/>" + '<a class="appProjectPrevious"></a><a class="appProjectNext"></a><a class="appProjectCloseAlbum" onclick=' + "closeAlbumAllCorver()" + '></a> </div>') $(".appProjectPrevious").click(function (e) {//上一頁 var imageArray = $(".showPorjectAppImg"); var el = e.srcElement || e.target; var imagePath; if (currentAlbumIndex > 0) { currentAlbumIndex = currentAlbumIndex + 1; } else { currentAlbumIndex = imageArray.length - 1; } var obj = imageArray[currentAlbumIndex]; imagePath = "http://localhost:59047/Source/phoneAppBackPanel.jpg";//obj.src; // $("#rollAblumImage").attr("src", imagePath); $("#rollAblumImage").animate({ opacity: 'toggle' }, "slow", null, function () { $("#rollAblumImage").attr("src", imagePath); $("#rollAblumImage").animate({ opacity: 'toggle' }, "slow"); //var image = $("#rollAblumImage"); // resizeimg(image, 320, 560); }); }) $(".appProjectNext").click(function (e) { // alert("adad"); var imageArray = $(".showPorjectAppImg"); var el = e.srcElement || e.target; var imagePath; if (currentAlbumIndex < imageArray.length-1) { currentAlbumIndex = currentAlbumIndex + 1; } else { currentAlbumIndex = 0; } var obj = imageArray[currentAlbumIndex]; imagePath = "http://localhost:59047/Source/phoneAppBackPanel.jpg"; $("#rollAblumImage").animate({ opacity: 'toggle' }, "slow", null, function () { $("#rollAblumImage").attr("src", imagePath); $("#rollAblumImage").animate({ opacity: 'toggle' }, "slow"); }); // $("#rollAblumImage").attr("src", imagePath); }) }) }); });
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jquery+CSS3實(shí)現(xiàn)3D拖拽相冊(cè)效果
- 非常漂亮的相冊(cè)集 使用jquery制作相冊(cè)集
- Jquery全屏相冊(cè)插件zoomvisualizer具有調(diào)節(jié)放大與縮小功能
- jQuery實(shí)現(xiàn)帶滾動(dòng)導(dǎo)航效果的全屏滾動(dòng)相冊(cè)實(shí)例
- jQuery插件實(shí)現(xiàn)大圖全屏圖片相冊(cè)
- jquery實(shí)現(xiàn)相冊(cè)一下滑動(dòng)兩次的方法
- 基于spring+hibernate+JQuery開發(fā)之電子相冊(cè)(附源碼下載)
- jQuery 網(wǎng)易相冊(cè)鼠標(biāo)移動(dòng)顯示隱藏效果實(shí)現(xiàn)代碼
- 收集的10個(gè)免費(fèi)的jQuery相冊(cè)
- Html5+jQuery+CSS制作相冊(cè)小記錄
相關(guān)文章
Jquery根據(jù)瀏覽器窗口改變調(diào)整大小的方法
下面小編就為大家?guī)硪黄狫query根據(jù)瀏覽器窗口改變調(diào)整大小的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02jQuery中Chosen三級(jí)聯(lián)動(dòng)功能實(shí)例代碼
Chosen 是一個(gè)JavaScript插件,它能讓丑陋的、很長(zhǎng)的select選擇框變的更好看、更方便,不僅如此,它更擴(kuò)大了,增長(zhǎng)了主動(dòng)篩選的功能。接下來通過本文給大家分享chosen 三級(jí)聯(lián)動(dòng)功能,一起看看吧2017-03-03懶加載實(shí)現(xiàn)的分頁&&網(wǎng)站footer自適應(yīng)
本文主要介紹了wap手機(jī)端懶加載分頁,web電腦端懶加載分頁以及web電腦端footer底部固定。具有很好的參考價(jià)值,下面就跟著小編一起來看下吧2016-12-12jquery獲取url參數(shù)及url加參數(shù)的方法
本文給大家介紹jquery獲取url參數(shù)及url參數(shù)的方法,在url中加參數(shù)的方法本文通過多種方式給大家介紹jquery獲取url參數(shù),感興趣的朋友一起學(xué)習(xí)學(xué)習(xí)吧2015-10-10