zoukankan      html  css  js  c++  java
  • 淘宝中的一个鼠标感应大图(鼠标经过显示大图)

    看到淘宝上的一个效果不错。存了一个,最后整理代码如下:

    <STYLE type=text/css media=screen>DIV#PreviewBox {
     DISPLAY: none; PADDING-LEFT: 6px; Z-INDEX: 2006; POSITION: absolute
    }
    DIV#PreviewBox SPAN {
     BACKGROUND: url(http://img.taobao.com/2k6/sys/list/arrow.gif) no-repeat 0px 0px; LEFT: 0px; WIDTH: 7px; POSITION: absolute; TOP: 9px; HEIGHT: 13px
    }
    DIV#PreviewBox DIV.Picture {
     BORDER-RIGHT: #666 1px solid; BORDER-TOP: #666 1px solid; BACKGROUND: #fff; FLOAT: left; BORDER-LEFT: #666 1px solid; BORDER-BOTTOM: #666 1px solid
    }
    DIV#PreviewBox DIV.Picture DIV {
     BORDER-RIGHT: #e8e8e8 4px solid; BORDER-TOP: #e8e8e8 4px solid; BORDER-LEFT: #e8e8e8 4px solid; BORDER-BOTTOM: #e8e8e8 4px solid
    }
    DIV#PreviewBox DIV.Picture DIV A IMG {
     BORDER-RIGHT: #b6b6b6 1px solid; BORDER-TOP: #b6b6b6 1px solid; DISPLAY: block; MARGIN: 19px; BORDER-LEFT: #b6b6b6 1px solid; BORDER-BOTTOM: #b6b6b6 1px solid; max-height: 250px; max- 250px
    }
    </STYLE>
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr><td width="120"><DIV id=PreviewBox onmouseout=hidePreview(event);>
    <DIV class=Picture onmouseout=hidePreview(event);><SPAN></SPAN>
    <DIV><A id=previewUrl href="javascript:void(0)" _fcksavedurl=""javascript:void(0)"" _fcksavedurl=""javascript:void(0)"" _fcksavedurl=""javascript:void(0)"" target=_blank><IMG
    oncontextmenu=return(false) id=PreviewImage onmouseout=hidePreview(event);
    src="" border=0></A>
    </DIV></DIV></DIV>
    <SCRIPT language=javascript src="js/small2big.js"
    type=text/javascript></SCRIPT>

    <SCRIPT language=javascript type=text/javascript>
      //<![CDATA[
     var previewBox = document.getElementById('PreviewBox');
     var previewImage = document.getElementById('PreviewImage');
     var previewUrl = document.getElementById('previewUrl');
     var previewFrom = null;
     var previewTimeoutId = null;
     var loadingImg = 'img/001.gif';
     //]]>
     </SCRIPT>
     <a onmouseover=showPreview(event); onmouseout=hidePreview(event); href="productshow.asp?articleid=<%=rsarticle("articleid")%>" target="_blank" class="my"><img src="<%=rsArticle("bookpic")%>" width="110" height="110" border="0" pic-link="<%=rsArticle("defaultpicurl")%>"
    large-src="<%=rsArticle("defaultpicurl")%>"></a>
    </td> 

    用到的一个JS代码如下 small2big.js


    var maxWidth=250;var maxHeight=250;function getPosXY(a,offset){var p=offset?offset.slice(0):[0,0],tn;while(a){tn=a.tagName.toUpperCase();if(tn=='IMG'){a=a.offsetParent;continue;}
    p[0]+=a.offsetLeft-(tn=="DIV"&&a.scrollLeft?a.scrollLeft:0);p[1]+=a.offsetTop-(tn=="DIV"&&a.scrollTop?a.scrollTop:0);if(tn=="BODY")break;a=a.offsetParent;}
    return p;}
    function checkComplete(){if(checkComplete.__img&&checkComplete.__img.complete)
    checkComplete.__onload();}
    checkComplete.__onload=function(){clearInterval(checkComplete.__timeId);var w=checkComplete.__img.width;var h=checkComplete.__img.height;if(w>=h&&w>maxWidth){previewImage.style.width=maxWidth+'px';}
    else if(h>=w&&h>maxHeight){previewImage.style.height=maxHeight+'px';}
    else{previewImage.style.width=previewImage.style.height='';}
    previewImage.src=checkComplete.__img.src;previewUrl.href=checkComplete.href;checkComplete.__img=null;}
    function showPreview(e){hidePreview();previewFrom=e.target||e.srcElement;previewImage.src=loadingImg;previewImage.style.width=previewImage.style.height='';previewTimeoutId=setTimeout('_showPreview()',500);checkComplete.__img=null;}
    function hidePreview(e){if(e){var toElement=e.relatedTarget||e.toElement;while(toElement){if(toElement.id=='PreviewBox')
    return;toElement=toElement.parentNode;}}
    try{clearInterval(checkComplete.__timeId);checkComplete.__img=null;previewImage.src=null;}
    catch(e){}
    clearTimeout(previewTimeoutId);previewBox.style.display='none';}
    function _showPreview(){checkComplete.__img=new Image();if(previewFrom.tagName.toUpperCase()=='A')
    previewFrom=previewFrom.getElementsByTagName('img')[0];var largeSrc=previewFrom.getAttribute("large-src");var picLink=previewFrom.getAttribute("pic-link");if(!largeSrc)return;else{checkComplete.__img.src=largeSrc;checkComplete.href=picLink;checkComplete.__timeId=setInterval("checkComplete()",20);var pos=getPosXY(previewFrom,[108,-2]);previewBox.style.left=pos[0]+'px';previewBox.style.top=pos[1]+'px';previewBox.style.display='block';}}


    淘宝中的一个鼠标感应大图(鼠标经过显示大图)http://www.corange.cn/archives/2007/05/35.html
  • 相关阅读:
    C# 关于委托和事件的妙文:通过一个例子详细介绍委托和事件的作用;Observer模式简介
    Path.Combine (合并两个路径字符串)方法的一些使用细节
    taskkill /f /im的应用
    powersheel远程连接方法操作
    Centos 定时任务发送smtp邮件
    Centos 发送smtp邮件
    在 Windows 上安装Rabbit MQ 指南
    Quartz.NET总结(五)基于Quartz.net 的开源任务管理平台
    Quartz.NET总结(四)Quartz 远程调度
    Quartz.NET总结(三)Quartz 配置
  • 原文地址:https://www.cnblogs.com/zerogo/p/2209369.html
Copyright © 2011-2022 走看看