鼠标移到小图上显示大图
1 列表中显示的小图
<img src='<%# SitePicUrl+ DataBinder.Eval(Container.DataItem, "Fieldphoto").ToString()%>' height="30px" width="50px" alt="外景小图" οnmοuseοver="ShowImage(event)" οnmοuseοut="HideImage(event)" />2 在</body>前放置一个div,也可动态创建
<div id="ShowPicBox" class="spicDiv"><img alt="" id="ShowPic" src="" height="1px" width="1px" /></div>3 显示及隐藏的js
<script type="text/javascript">
var oEvent = null, oElement = null;
function ShowImage(evt) {//显示图片用的方法
evt = (evt) ? evt : ((window.event) ? window.event : "")
var elem = null;
if (evt) {
elem = (evt.target) ? evt.target : evt.srcElement
} //这里本来是想做FF兼容的,可是当时能力有限没有做出来.
var ee = elem;
var ex = ee.offsetLeft, ey = ee.offsetTop;
while (ee = ee.offsetParent) {
ex += ee.offsetLeft;
ey += ee.offsetTop;
}
checkComplete.__img = new Image();
checkComplete.__img.src = elem.src;
//这里给显示的层做定位
ShowPicBox.style.position = "absolute";
//ShowPicBox.style.left = ex + elem.offsetWidth + "px"; ShowPicBox.style.right = elem.offsetWidth + 155 + "px";
ShowPicBox.style.top = ey + "px";
ShowPicBox.style.display = "";
checkComplete.__timeId = setInterval("checkComplete();", 20);
elem.detachEvent("onmouseover", ShowImage);
} function checkComplete()//这个方法在这里检查大图是不是被加载完毕
{
if (checkComplete.__img && checkComplete.__img.complete)
checkComplete.__onload();
clearInterval(checkComplete.__timeId);
}
var curx = 2000; cury = 1500;
checkComplete.__onload = function() {
clearInterval(checkComplete.__timeId);
var w = checkComplete.__img.width;
var h = checkComplete.__img.height;
//如果图片太大则按比例缩放保持图片不失真,大小在上面的curx,cury设置
var x = 0, y = 0;
x = w / curx;
y = h / cury; var m = 0, n = 0;
if (x > 1 || y > 1) {
m = w / Math.max(x, y);
n = h / Math.max(x, y);
}
else {
m = w;
n = h;
}
ShowPic.src = checkComplete.__img.src;
ShowPic.width = m;
ShowPic.height = n;
checkComplete.__img = null;
} function HideImage(evt) {//隐藏图片
evt = (evt) ? evt : ((window.event) ? window.event : "")
var elem = null;
if (evt) {
elem = (evt.target) ? evt.target : evt.srcElement
}
elem.attachEvent("onmouseover", ShowImage);
clearInterval(checkComplete.__timeId);
ShowPicBox.style.display = "none";
ShowPic.width = "1px";
ShowPic.height = "1px";
ShowPic.src = "";
}
</script>
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
静态轮播图java
轮播图效果
html 轮播图 css -
js实现轮播图
一个简单的轮播图插件
轮播图 js -
vue实现轮播图
轮播图
移出 自动轮播 bc -
element 产品轮播图 轮播图vue代码
写在前面每一篇文章都希望您有所收获,每一篇文章都希望您能静下心来浏览、阅读。每一篇文章都是作者精心打磨的作品。如果您觉得杨戬这个小白还有点东西的话,杨戬希望正在看文章的您可以帮忙点亮那个点赞的按钮(效果更加),对于杨戬这个暖男来说,真的真的非常重要,这将是我持续写作的动力。前言写这篇文章的目的主要是将以前所学的知识结合起来,进一步巩固一下自己的记忆,防止遗忘(主要是害怕老年痴呆),当然更重要的是学
element 产品轮播图 css轮播图 javascript实现图片轮播 一个图片 在另一个图片定位 一个图片 在另一个图片定位左上角
















