2011年7月20日水曜日

javascriptでimageのpreview

1.imgpop.js
/*
 * Image preview script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
this.imagePreview = function(){ 
 /* CONFIG */
  
  xOffset = 10;
  yOffset = 30;
  
  // these 2 variable determine popup's distance from the cursor
  // you might want to adjust to get the right result
  
 /* END CONFIG */
 $("a.preview").hover(function(e){
  this.t = this.title;
  this.title = ""; 
  var c = (this.t != "") ? "<br/>" + this.t : "";
  $("body").append("<p id='preview'><img src='"+ this.href +"' alt='ロード中...' />"+ c +"</p>");         
  $("#preview")
   .css("top",(e.pageY - xOffset) + "px")
   .css("left",(e.pageX + yOffset) + "px")
   .fadeIn("fast");      
    },
 function(){
  this.title = this.t; 
  $("#preview").remove();
    }); 
 $("a.preview").mousemove(function(e){
  $("#preview")
   .css("top",(e.pageY - xOffset) + "px")
   .css("left",(e.pageX + yOffset) + "px");
 });   
};


// starting the script on page load
$(document).ready(function(){
 imagePreview();
});

2.imgpop.css
#preview{
 position:absolute;
 border:1px solid #ccc;
 background:#333;
 padding:5px;
 display:none;
 color:#fff;
 }

3.jquery.jsを含め引用しておきます
<script src="/javascripts/jquery.js" type="text/javascript"></script>
<script src="/javascripts/imgpop.js" type="text/javascript"></script>
<link href="/stylesheets/imgpop.css" rel="stylesheet" type="text/css" media="all" />

4.こう使う
<a href="big_image.png" class="preview" alt="this is a popup preview">
<img src="thumber_pic" />
</a>

サンプル




5.別窓でポップアップ
<a href="big_image.png" class="preview" alt="this is a popup preview" onclick="window.open('big_image.png', '', 'width=100,height=100'); return false;">
<img src="thumber_pic" />
</a>

サンプル2(クリックするとポップアップ)


0 件のコメント:

コメントを投稿