图片的局部放大的效果实现
2008-05-16 11:19
435 查看
<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="ProductShow.aspx.cs" Inherits="ProductShow" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>产品展示厅</title>
<style type="text/css">...
*{...}{padding:0;margin:0}
.smallpic{...}{display:block;border:green dotted;float:left}
#bigbox{...}{border:green solid;width:400px;height:284px;overflow:hidden;font-size:0px;}
#view{...}{border:silver solid;width:0;height:0;font-size:0px;display:none;position:absolute;}
#loading{...}{position:absolute;z-index:-1;font-size:20px;font-weight:bold;color:white;}
#loading img{...}{vertical-align:middle}
</style>
<script type="text/javascript">...
var smallX = 150; //缩略图宽度
var bigX = 400; //预览窗大小,可以任意设置
var bigY = 284;
var srcX = 1600; //原图大小,可以任意设置. 如有一个为-1将使用图片原始大小
var srcY = 1200;
var border = 1; //边框
var smallY,viewX,viewY,bl,isIE,vX,vY,imgo;
window.onload=function()
...{//debugger
smallY=srcY*smallX/srcX; //按比例计算出缩略图的高
viewX=bigX/srcX*smallX; //计算缩略图的预览窗口大小
viewY=bigY/srcY*smallY;
bl=srcX/smallX; //得到缩放比例
document.getElementById("bigbox").style.borderWidth=border; //初始化预览窗
document.getElementById("bigbox").style.width=bigX+border*2;
document.getElementById("bigbox").style.height=bigY+border*2;
document.getElementById("view").style.borderWidth=border; //初始化小预览窗
document.getElementById("view").style.width=viewX;
document.getElementById("view").style.height=viewY;
}
function getSrc(obj)
...{//debugger
if(obj.tagName=="IMG")
...{
var src=obj.src;
var LowerSrc=obj.lowsrc;
var SmallImage=document.createElement("img");
SmallImage.src=src;
SmallImage.setAttribute("class","smallpic");
SmallImage.onmousemove=function()...{move(event,this)};
SmallImage.onmouseout=function()...{nodisplay()};
var BigPic=document.createElement("img");
BigPic.setAttribute("id","bigpic");
BigPic.src=LowerSrc;
document.getElementById("divSmall").innerHTML="";
document.getElementById("bigbox").innerHTML="";
document.getElementById("bigbox").style.display="block";
document.getElementById("divSmall").style.display="block";
document.getElementById("divSmall").appendChild(SmallImage);
document.getElementById("bigbox").appendChild(BigPic);
}
}
function nodisplay()
...{
document.getElementById("view").style.display="none";
}
function move(e,o)
...{//debugger
var e = window.event; //得到IE或FF的event
vX=e.offsetX;
vY=e.offsetY //分别在FF与IE下获得相对坐标
vX+=-viewX/2; vY+=-viewY/2; //得到缩略图的预览窗位置
if (vX < 0) vX = 0; //边界判断,不能超出缩略图的范围
if (vY < 0) vY = 0;
if (vX > smallX - viewX) vX = smallX - viewX;
if (vY > smallY - viewY) vY = smallY - viewY;
document.getElementById("bigpic").style.marginLeft = - vX * bl; //刷新预览窗口
document.getElementById("bigpic").style.marginTop = - vY * bl;
document.getElementById("view").style.display = 'block'; //刷新缩略图中预览窗口
document.getElementById("view").style.left = vX + o.offsetLeft + border;
document.getElementById("view").style.top = vY + o.offsetTop + border+120;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div style="width: 900px; height: 600px; background-color: #f8fafc; border-right: #6666ff 1px solid; border-top: #6666ff 1px solid; border-left: #6666ff 1px solid; border-bottom: #6666ff 1px solid;">
<div style="width: 100%; border-bottom: #cc99ff 1px solid;">
<div id="demo" style="overflow: hidden; width: 600px;height:120px; border-bottom: #cc99ff 1px solid; border-right: #cc99ff 1px solid; border-left: #cc66ff 1px solid;">
<table align="left" border="0" cellpadding="0" cellspacing="0" >
<tbody>
<tr>
<td id="demo1" valign="top">
<asp:DataList ID="dlProduct" runat="server" RepeatColumns="5" RepeatDirection="Horizontal">
<ItemTemplate>
<div>
<div>
<img border="1" height="120" src='<%# Eval("ProductPic") %>' title='<%...#Eval("ProductName") %>' width="150" onclick="getSrc(this)" lowsrc='<%...# Eval("ProductLowPic") %>'/>
</div>
<div>
</div>
</div>
</ItemTemplate>
</asp:DataList>
</td>
<td id="demo2" valign="top" style="width: 5px">
</td>
</tr>
</tbody>
</table>
<script language="JavaScript" src="js/scrollpic.js"></script>
</div>
</div>
<div style="width: 100%">
<div id=divSmall style="width: 150px; height: 112px;float:left; border-right: #9966ff 1px solid; border-top: #9966ff 1px solid; border-left: #9966ff 1px solid; border-bottom: #9966ff 1px solid; display:none">
</div>
<div id="bigbox" style="display:none">
</div><!--预览窗//-->
<div id="view">
</div><!--小预览窗//-->
</div>
</div>
</form>
</body>
</html>
// JScript 文件
var speed3=25//速度数值越大速度越慢
demo2.innerHTML=demo1.innerHTML
function Marquee()...{
if(demo2.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft-=demo1.offsetWidth
else...{
demo.scrollLeft++
}
}
var MyMar=setInterval(Marquee,speed3)
demo.onmouseover=function() ...{clearInterval(MyMar)}
demo.onmouseout=function() ...{MyMar=setInterval(Marquee,speed3)}
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class ProductShow : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
if (!Page.IsPostBack)
...{
DataCon dc = new DataCon();
this.dlProduct.DataSource = dc.getProductMsg();
this.dlProduct.DataBind();
}
}
}
public SqlDataReader getProductMsg()
...{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select * from ProductShow";
con.Open();
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return sdr;
}
相关文章推荐
- 图片局部放大效果实现
- silverlight实现图片局部放大效果的方法
- silverlight实现图片局部放大效果
- silverlight实现图片局部放大效果
- 另一种方法实现silverlight图片局部放大效果
- 实现图片局部放大_放大镜效果
- js 实现 图片的局部放大效果
- Android 自定义View 使用ShapeDrawable加BitmapShader实现图片局部放大效果
- jQuery实现 图片的局部放大效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- 用js实现对图片的局部放大
- js实现图片缓慢放大缩小效果
- android自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- jQuery实现类似淘宝网图片放大效果的方法
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- JS实现鼠标移动到缩略图显示大图的图片放大效果
- 实现点击图片图片放大效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
- js实现简单的单击图片放大功能---仿新浪微博图片放大效果