欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery實現(xiàn)文章圖片彈出放大效果

 更新時間:2017年04月06日 15:15:20   作者:風(fēng)雨后見彩虹  
本文主要介紹jQuery實現(xiàn)文章圖片彈出放大效果的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧

首先先搭寫一個基本的格式:

$.fn.popImg = function() {
  //your code goes here
}

然后用自調(diào)用匿名函數(shù)包裹你的代碼,將系統(tǒng)變量以變量形式傳遞到插件內(nèi)部,如下:

;(function($,window,document,undefined){
  $.fn.popImg = function() {
   //your code goes here
  }
})(jQuery,window,document);

那么接下來我們就在里面實現(xiàn)點擊文章圖片彈出該圖片并放大的效果。

整體代碼如下:

;(function($,window,document,undefined){
 $.fn.popImg = function(){

   //創(chuàng)建彈出層
   var $layer = $("<div>").css({
    position:'fixed',
    left:0,
    right:0,
    top:0,
    bottom:0,
    width:'100%',
    height:'100%',
    zIndex:9999999,
    display:'none',
    background: "#000",
    opacity:'0.6'
   });

   //復(fù)制點擊的圖片,獲得圖片的寬高以及位置
   var cloneImg = function($targetImg){
     var cloneW = $targetImg.width(),
       cloneH = $targetImg.height(),
       left = $targetImg.offset().left,
       top = $targetImg.offset().top;

     return $targetImg.clone().css({
       position:'fixed',
       width:cloneW,
       height:cloneH,
       left:left,
       top:top,
       zIndex:10000000
     });
   };

   //讓復(fù)制的圖片居中顯示
   var centerImg = function($cloneImg){
     var dW = $(window).width();
     var dH = $(window).height();
     $cloneImg.css('cursor','zoom-out').attr('clone-bigImg',true);
     var img = new Image();
     img.onload = function(){
      $cloneImg.stop().animate({
         width: this.width,
        height: this.height,
        left: (dW - this.width) / 2,
        top: (dH - this.height) / 2
      },300);
     }
     img.src = $cloneImg.attr('src');
   };

   this.each(function(){
     $(this).css('cursor','zoom-in').on('click',function(){
       var $body = $("body");
       $layer.appendTo($body);
       $layer.fadeIn(300);
       var $c = cloneImg($(this));
       $c.appendTo($body);
       centerImg($c);
     });
   });

  var timer = null;
  $(window).on("resize", function(){
   $("img[clone-bigImg]").each(function(){
    var $this = $(this);
    timer && clearTimeout(timer);
    timer = setTimeout(function(){
     centerImg($this);
    }, 10);
   });
  });

  $(window).on("click keydown", function(evt){
   if(evt.type == "keydown" && evt.keyCode === 27) {
    $layer.fadeOut(300);
    $("img[clone-bigImg]").remove();
   }
   var $this = $(evt.target);
   if($this.attr("clone-bigImg")){
    $layer.fadeOut(300);
    $("img[clone-bigImg]").remove();
   }
  });
 }
})(jQuery,window,document);

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • jQuery動畫animate方法使用介紹

    jQuery動畫animate方法使用介紹

    用于創(chuàng)建自定義動畫的函數(shù)。這個函數(shù)的關(guān)鍵在于指定動畫形式及結(jié)果樣式屬性對象,下面為大家詳細介紹下animate方法的具體使用,感興趣的朋友可以了解下哈
    2013-05-05
  • 基于jQuery實現(xiàn)滾動切換效果

    基于jQuery實現(xiàn)滾動切換效果

    這篇文章主要為大家詳細介紹了基于jQuery實現(xiàn)滾動切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • jquery實現(xiàn)滑動圖片自己測試的例子

    jquery實現(xiàn)滑動圖片自己測試的例子

    最近使用jquery寫了一個圖片滑動的插件,雖然還是有些問題存在,用法很簡單,希望對大家有所幫助
    2013-11-11
  • 最新評論