最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS點擊縮略圖整屏居中放大圖片效果

 更新時間:2017年07月04日 09:57:34   作者:兩個人兩座城  
今天開發(fā)的時候,遇到要點擊縮略圖之后居中顯示圖片的大圖查看(大致效果如上圖所示)~想了好幾種實現(xiàn)方式,下面通過本文給大家分享JS點擊縮略圖整屏居中放大圖片效果,需要的朋友參考下吧

需要實現(xiàn)的效果圖:

這里寫圖片描述

今天開發(fā)的時候,遇到要點擊縮略圖之后居中顯示圖片的大圖查看(大致效果如上圖所示)~想了好幾種實現(xiàn)方式,最開始的時候,是想通過animate來點擊圖片進行顯示,可是后來當我想要讓放大的圖片進行居中顯示和點擊別的地方隱藏已顯示的大圖的時候,才發(fā)現(xiàn)實現(xiàn)起來有難度。

1 第一張點擊圖片將圖片放大

下面將這種方式也貼出來,供自己參考(萬一有需要的小伙伴正好需要這樣的功能呢):

<div>
 <img class="dialog" src="xxx.jpg">
 <div id="dialog_large_image"></div>
</div>
<script type="text/javascript">
 $(function () {
  $("img.dialog").click(function() {
   var large_image = '<img src= ' + $(this).attr("src") + '></img>';
   $('#dialog_large_image').html($(large_image).animate({ height: '50%', width: '50%' }, 500));
  });
 });
</script>

上述代碼實現(xiàn)的效果如下圖所示:

這里寫圖片描述

這個是最基本的漸變的效果實現(xiàn)。

- 2 第二種點擊圖片全屏居中顯示(推薦這種實現(xiàn)方式)

HTML的樣式部分:

這里寫圖片描述

代碼部分用到了字符串的拼接(可以以后做參考用):

重要的是第二行var html = ...

for (var i in result_array) {
  var html = '';
  var html = '<div id="dialog_pic"><div class="dialog-body"><img src="' + result_array[i]['photo_url'] + '?imageView2/1/w/128/h/128"></div></div> <div class="waterfall_stream_pic"><div class="item">';
  if (result_array[i]['photo_url']) {
  html += '<img class="zoom" src="' + result_array[i]['photo_url'] + '?imageView2/1/w/128/h/128">';
  }
  html += '<div><span>' + result_array[i]['final_score'] + '</span><span>(' + result_array[i]['baby_gender'] + '寶' + ')</span><p>' + parseInt(result_array[i]['age_in_month']/12) + '周歲'+ result_array[i]['age_in_month']%12 + '個月</p>';
  html += '</div></div></div>';
  $container_pics.append(html);
 }
 }

CSS 樣式部分(點擊縮略圖顯示的一些代碼,很重要~注意z-index: 100;這個屬性值的作用)

#dialog_pic {
 position: fixed;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 background: rgba(0,0,0,0.65);
 z-index: 100;
 display: none;
 .dialog-body {
 width: 100%;
 max-width: 250px;
 max-height: 300px;
 margin: 0 auto;
 padding: 10px;
 border-radius: 5px;
 background: white;
 overflow: auto;
 margin-top: 283px;
 img {
  width: 100%;
 }
 }
}

這里必須使用on事件來獲取元素的點擊事件,onclick不產(chǎn)生作用(為什么不產(chǎn)生作用,請看上一篇文章的關(guān)于on 和onclick 的說明)

這里寫圖片描述 
這里寫圖片描述

這里寫圖片描述

// pic zoom
 $(function() {
 //獲取縮略圖的點擊事件,然后將大圖片展示出來(樣式里默認顯示為```none```)
 $('.result_pics').on('click', 'img.zoom', function() { 
  var $dialog = $('#dialog_pic'); //這里的dialog_pic是整個大圖的顯示區(qū)域(請注意,這里之只有采用變量賦值的方式是為了

下面的代碼看起來很簡潔,方便自己,方便他人)

 $dialog.show();
  // outerHeight聲明了整個窗口的高度
  // 此處的代碼通過上面的圖片,我已經(jīng)標注出來了相應(yīng)的區(qū)域部分。整個頁面減去大圖片顯示區(qū)域從上到圖片的最底邊所產(chǎn)生的距離,然后除2就可以實現(xiàn)圖片的放大居中了。
  var marginTop = ($dialog.outerHeight() - $('.dialog-body', $dialog).outerHeight()) / 2;
  $('.dialog-body', $dialog).css({
  marginTop: marginTop
  });
 });
 // 點擊顯示的大圖,觸發(fā)事件,當觸發(fā)當前頁面內(nèi)里任何處位置,就會隱藏顯示的大圖
 $('.result_pics').on('click', '#dialog_pic', function() {  
  $(this).hide();
 });
 });

至此,點擊縮略圖顯示大圖的功能到這里基本實現(xiàn)。但是這里有一個bug就是放大的圖片有失真,不清晰(注:明天排查下是什么原因?qū)е碌膥)

解決上面存留的bug:(bug出現(xiàn)了2個,一個是點擊放大的圖片失真,另一個是原圖放大之后圖片會旋轉(zhuǎn))

1.點擊放大的圖片失真(這個是我一開始沒放原圖<img src="' + result_array[i]['photo_url'] ">即后面不帶參數(shù))

var html = '<div id="dialog_pic"><div class="dialog-body"><img src="' + result_array[i]['photo_url'] + '?imageMogr/auto-orient"></div></div> <div class="waterfall_stream_pic"><div class="item">';

2.解決旋轉(zhuǎn)的方案(這個參數(shù)一般就是為了解決客戶端IOS/Android圖片橫豎屏的問題,當然放在網(wǎng)頁端應(yīng)用也是OK的):

imageMogr/auto-orient

至此,點擊縮略圖顯示大圖的功能實現(xiàn),已全部OK ~

這里寫圖片描述

以上所述是小編給大家介紹的JS點擊縮略圖整屏居中放大圖片效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解CocosCreator游戲之魚群算法

    詳解CocosCreator游戲之魚群算法

    這篇文章主要介紹了詳解CocosCreator游戲之魚群算法,對算法感興趣的同學,可以仔細參考下
    2021-04-04
  • 微信小程序按鈕點擊動畫效果的實現(xiàn)

    微信小程序按鈕點擊動畫效果的實現(xiàn)

    這篇文章主要介紹了微信小程序按鈕點擊動畫效果的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 20個你不得不知道的js位運算用法

    20個你不得不知道的js位運算用法

    位運算,那些看似晦澀但又蘊含無限魔力的數(shù)字魔術(shù),在JavaScript開發(fā)中扮演了默默無聞卻又至關(guān)重要的角色,本文介紹多個js位運算的使用場景,闡述在JavaScript中,如何巧妙運用位運算實現(xiàn)效率的提升和算法的優(yōu)化,需要的朋友可以參考下
    2023-12-12
  • 模仿password輸入框的實現(xiàn)代碼

    模仿password輸入框的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄7聀assword輸入框的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 前端構(gòu)建工具之gulp的語法教程

    前端構(gòu)建工具之gulp的語法教程

    這篇文章主要給大家介紹了關(guān)于前端構(gòu)建工具之gulp語法的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來跟著小編一起學習學習下吧。
    2017-06-06
  • Javascript單元測試框架QUnitjs詳細介紹

    Javascript單元測試框架QUnitjs詳細介紹

    這篇文章主要介紹了Javascript單元測試框架QUnitjs詳細介紹,需要的朋友可以參考下
    2014-05-05
  • three.js加載obj模型的實例代碼

    three.js加載obj模型的實例代碼

    three.js是一款webGL框架,由于其易用性被廣泛應(yīng)用。接下來通過本文給大家分享three.js加載obj模型的實例代碼,需要的朋友參考下吧
    2017-11-11
  • javascript下用鍵盤控制層的移動的代碼

    javascript下用鍵盤控制層的移動的代碼

    javascript下用鍵盤控制層的移動的代碼...
    2007-04-04
  • Javascript編寫俄羅斯方塊思路及實例

    Javascript編寫俄羅斯方塊思路及實例

    本文主要給大家介紹的是使用javascript編寫俄羅斯方塊小游戲的思路和具體的實例代碼,有需要的小伙伴可以參考下
    2015-07-07
  • Javascript實現(xiàn)一朵從含苞到綻放的玫瑰

    Javascript實現(xiàn)一朵從含苞到綻放的玫瑰

    今天小編就為大家分享一篇關(guān)于Javascript實現(xiàn)一朵從含苞到綻放的玫瑰,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03

最新評論

东丰县| 北票市| 吉首市| 建昌县| 长春市| 横峰县| 台中市| 灵璧县| 陆川县| 扶绥县| 开江县| 博白县| 名山县| 泸西县| 杂多县| 读书| 元朗区| 长阳| 乌苏市| 峨眉山市| 四会市| 恩平市| 北票市| 东丽区| 凤冈县| 翼城县| 衡阳市| 融水| 新郑市| 高清| 林周县| 秀山| 赣榆县| 光山县| 璧山县| 红河县| 象州县| 罗山县| 庐江县| 文登市| 萝北县|