账号通
    

账号  

密码  

17431

查看

17

回复
主题:6.5下用JS+CSS打造超酷的图片效果 [收藏主题] 转到:  
jm0708 当前离线

402

主题

17

广播

4

粉丝
添加关注
级别:四年级

用户积分:2966 分
登录次数:437 次
注册时间:2008/1/12
最后登录:2024/9/27
jm0708 发表于:2010/3/5 9:53:00   | 只看该作者 查看该作者主题 楼主 

文章系统下的图片展示效果,鼠标经过小图时出现大图。研究了一下发现很好用,拿出来分享一下。


效果展示:



---------------------------------------------------------------------------------------


首先要用到的SQL循环:


<li class="">
<div style="width:128px; height:126px"><a href="连接地址" target="_blank"><img src='小图地址' onMouseOver="toolTip('<img src=大图地址>')" onMouseOut="toolTip()"></a></div>
</li>


这里用到一个小图地址我在文章系统里加了一个字段:"ks_smallphoto"


新建SQL名称为:
{SQL_实验中心小图 大图()}


具体SQL:


select ID,PhotoUrl,KS_smallphoto from KS_Article where tid='20084931548132' order by id desc


 


循 环 体


<li class="">
<div style="width:128px; height:126px"><a href="{$Field(ID,GetInfoUrl,1,1)}" target="_blank"><img src='{$Field(KS_smallphoto,Text,0,...,0,)}' onMouseOver="toolTip('<img src={$Field(PhotoUrl,Text,0,...,0,)}>')" onMouseOut="toolTip()"></a></div>
</li>


----------------------------下面为JS代码-----------------------------------


function getViewportHeight() {
 if (window.innerHeight!=window.undefined) return window.innerHeight;
 if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
 if (document.body) return document.body.clientHeight;


 return window.undefined;
}
function getViewportWidth() {
 if (window.innerWidth!=window.undefined) return window.innerWidth;
 if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth;
 if (document.body) return document.body.clientWidth;


 return window.undefined;
}


/**
 * Gets the real scroll top
 */
function getScrollTop() {
 if (self.pageYOffset) // all except Explorer
 {
  return self.pageYOffset;
 }
 else if (document.documentElement && document.documentElement.scrollTop)
  // Explorer 6 Strict
 {
  return document.documentElement.scrollTop;
 }
 else if (document.body) // all other Explorers
 {
  return document.body.scrollTop;
 }
}
function getScrollLeft() {
 if (self.pageXOffset) // all except Explorer
 {
  return self.pageXOffset;
 }
 else if (document.documentElement && document.documentElement.scrollLeft)
  // Explorer 6 Strict
 {
  return document.documentElement.scrollLeft;
 }
 else if (document.body) // all other Explorers
 {
  return document.body.scrollLeft;
 }
}
/*
渐变的弹出图片
使用方法:
将ToolTip.js包含在网页body的结束标签后
调用方法:
<a href="pages.jpg" target='_blank' onMouseOver="toolTip('<img src=http://zhouzh:90/templet/T_yestem_channel/pages_small.jpg>')" onMouseOut="toolTip()"><img src='pages_small.jpg' border=0 width=30 height=20 align="absmiddle" title="点击看大图"></a>


必须CSS样式
.trans_msg
{
 filter:alpha(opacity=100,enabled=1) revealTrans(duration=.2,transition=1) blendtrans(duration=.2);
}
*/
//--初始化变量--
var rT=true;//允许图像过渡
var bT=true;//允许图像淡入淡出
var tw=150;//提示框宽度
var endaction=false;//结束动画
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;
offsetX = 10;
offsetY = 20;
var toolTipSTYLE="";
function initToolTips()
{
 tempDiv = document.createElement("div");
 tempDiv.id = "toolTipLayer";
 tempDiv.style.position = "absolute";
 tempDiv.style.display = "none";
 document.body.appendChild(tempDiv);
 if(ns4||ns6||ie4)
 {
  if(ns4) toolTipSTYLE = document.toolTipLayer;
  else if(ns6) toolTipSTYLE = document.getElementById("toolTipLayer").style;
  else if(ie4) toolTipSTYLE = document.all.toolTipLayer.style;
  if(ns4) document.captureEvents(Event.MOUSEMOVE);
  else
  {
    toolTipSTYLE.visibility = "visible";
    toolTipSTYLE.display = "none";
  }
  document.onmousemove = moveToMouseLoc;
 }
}
function toolTip(msg, fg, bg)
{
 try {
   if(toolTip.arguments.length < 1) // hide
   {
  if(ns4)
  {
  toolTipSTYLE.visibility = "hidden";
  }
  else
  {
    //--图象过渡,淡出处理--
    if (!endaction) {toolTipSTYLE.display = "none";}
    if (rT) document.all("msg1").filters[1].Apply();
    if (bT) document.all("msg1").filters[2].Apply();
    document.all("msg1").filters[0].opacity=0;
    if (rT) document.all("msg1").filters[1].Play();
    if (bT) document.all("msg1").filters[2].Play();
    if (rT){
    if (document.all("msg1").filters[1].status==1 || document.all("msg1").filters[1].status==0){ 
    toolTipSTYLE.display = "none";}
    }
    if (bT){
    if (document.all("msg1").filters[2].status==1 || document.all("msg1").filters[2].status==0){ 
    toolTipSTYLE.display = "none";}
    }
    if (!rT && !bT) toolTipSTYLE.display = "none";
    //----------------------
  }
   }
   else // show
   {
  if(!fg) fg = "#777777";
  if(!bg) bg = "#eeeeee";
  var content =
  '<table id="msg1" name="msg1" border="0" cellspacing="0" cellpadding="1" bgcolor="' + fg + '" class="trans_msg"><td>' +
  '<table border="1" cellspacing="2" cellpadding="3" bgcolor="' + bg +
  '"><td><font face="Arial" color="' + fg +
  '" size="-2">' + msg +
  '</font></td></table></td></table>';
 
  if(ns4)
  {
    toolTipSTYLE.document.write(content);
    toolTipSTYLE.document.close();
    toolTipSTYLE.visibility = "visible";
  }
  if(ns6)
  {
    document.getElementById("toolTipLayer").innerHTML = content;
    toolTipSTYLE.display='block'
  }
  if(ie4)
  {
    document.all("toolTipLayer").innerHTML=content;
    toolTipSTYLE.display='block'
    //--图象过渡,淡入处理--
    var cssopaction=document.all("msg1").filters[0].opacity
    document.all("msg1").filters[0].opacity=0;
    if (rT) document.all("msg1").filters[1].Apply();
    if (bT) document.all("msg1").filters[2].Apply();
    document.all("msg1").filters[0].opacity=cssopaction;
    if (rT) document.all("msg1").filters[1].Play();
    if (bT) document.all("msg1").filters[2].Play();
    //----------------------
  }
   }
 } catch(e) {}
}
function moveToMouseLoc(e)
{
  var scrollTop = getScrollTop();
  var scrollLeft = getScrollLeft();
  if(ns4||ns6)
  {
    x = e.pageX + scrollLeft;
    y = e.pageY - scrollTop;
  }
  else
  {
    x = event.clientX + scrollLeft;
    y = event.clientY;
  }
 
  if (x-scrollLeft > getViewportWidth() / 2) {
   x = x - document.getElementById("toolTipLayer").offsetWidth - 2 * offsetX;
  }
 
  if ((y+document.getElementById("toolTipLayer").offsetHeight+offsetY)>getViewportHeight()) {
 y = getViewportHeight()-document.getElementById("toolTipLayer").offsetHeight-offsetY;
  }
  toolTipSTYLE.left = (x + offsetX)+'px';
  toolTipSTYLE.top = (y + offsetY + scrollTop)+'px';
  return true;
}
initToolTips();


 


ps:把这段JS保存为“ToolTip.js”放在BODY结束的地方调用就行了。




--------------------------下面为用到的CSS样式可放在头部在可调用--------------------------------


/*首页*/
html { overflow:-moz-scrollbars-vertical; } /*Always show Firefox scrollbar*/
body{ font:12px/22px "宋体"; word-break:break-all; text-align:left; background:#C0C0C0; color:#4E4E4E;}
ul,li{ list-style:none;}
a{ color:#333; text-decoration:none;}
a:hover{ color:#ff722d; text-decoration:none;}
img{ border:0;}
a img,a:hover img{ border:0;}
.latestWeb{ width:980px; margin:10px auto 0;}
.latestWeb ul{ overflow:hidden; _height:1%;}
.latestWeb li{ float:left; border:1px solid #EBEAEA; width:150px; padding:10px; margin:14px 14px 0 0; }
.trans_msg{ filter:alpha(opacity=100,enabled=1) revealTrans(duration=.2,transition=1) blendtrans(duration=.2);}
div.bodycontent{font-family:Arial, Helvetica, sans-serif;padding:0 10px 10px 13px;color:#555;line-height:22px;text-align:justify;text-justify:inter-ideograph;}
div.bodycontent ul{margin-left:0px}


-----------------------------------------------------------------------------------


我是这样调用的


<body>


<div class="latestWeb">
<ul>
{SQL_实验中心小图 大图()}
</ul>
</div>


</body>


<script language="javascript" src="/js/ToolTip.js"></script>


-----------------------------------------------------------------------------------


ps:其实这个效果也很简单的,官方ESHOP上出带有这个效果。小弟不才,如有足之处还请见谅。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wapsy520 当前离线

655

主题

0

广播

0

粉丝
添加关注
级别:六年级

用户积分:2075 分
登录次数:75 次
注册时间:2010/1/23
最后登录:2013/7/17
wapsy520 发表于:2010/5/2 1:26:00   | 只看该作者 查看该作者主题 沙发 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
hldzhsp2 当前离线

6

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:15 分
登录次数:1 次
注册时间:2010/4/24
最后登录:2010/4/28
hldzhsp2 发表于:2010/4/28 21:43:00   | 只看该作者 查看该作者主题 藤椅 
科汛在线考试系统(NET)
[img]http://t1.baidu.com/it/u=3023632057,3358384434
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
geor12ss 当前离线

19

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:45 分
登录次数:1 次
注册时间:2010/4/20
最后登录:2010/4/20
geor12ss 发表于:2010/4/20 16:54:00   | 只看该作者 查看该作者主题 板凳 
科汛在线考试系统(NET)
现在是冲3砖时间3砖后不再优惠!!!各位抓紧时间哦1现在是冲3砖时间3砖后不再优惠!!!各位抓紧时间哦1
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
jzjit 当前离线

21

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:97 分
登录次数:5 次
注册时间:2009/11/23
最后登录:2010/4/19
jzjit 发表于:2010/4/19 17:37:00   | 只看该作者 查看该作者主题 报纸 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
jiajiagwc 当前离线

19

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:26 分
登录次数:1 次
注册时间:2010/3/19
最后登录:2010/3/19
jiajiagwc 发表于:2010/3/19 17:30:00   | 只看该作者 查看该作者主题 地板 
E酷推广软件非常不错值得大家共享让我的广告变部满天下我非常喜欢E酷导航www.eku58.com好好分享请大家收藏。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
liqccd 当前离线

60

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:417 分
登录次数:25 次
注册时间:2009/8/17
最后登录:2010/8/7
liqccd 发表于:2010/3/10 12:21:00   | 只看该作者 查看该作者主题 7楼 
科汛在线考试系统(NET)

我自己找了个图试了下,能做出来,很好

 

 

 

 

 

 

 

顶了

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
wshxh 当前离线

60

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:317 分
登录次数:25 次
注册时间:2010/1/20
最后登录:2011/4/9
wshxh 发表于:2010/3/8 9:06:00   | 只看该作者 查看该作者主题 8楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
jm0708 当前离线

402

主题

17

广播

4

粉丝
添加关注
级别:四年级

用户积分:2966 分
登录次数:437 次
注册时间:2008/1/12
最后登录:2024/9/27
jm0708 发表于:2010/3/5 9:55:00   | 只看该作者 查看该作者主题 9楼 
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
lengxue 当前离线

3043

主题

18

广播

4

粉丝
添加关注
级别:大二

用户积分:10431 分
登录次数:1606 次
注册时间:2009/1/13
最后登录:2024/7/7
lengxue 发表于:2010/6/29 21:33:47   | 只看该作者 查看该作者主题 10楼 
 
想旅游就来就爱旅游网
[url]http://bbs.shangrila66.com[/url]
大香格里拉旅游王国
[url]http://www.shangrila66.com[/url]
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.23633秒 powered by KesionCMS 9.0