分享

很不错的特效代码---【一】

 新客小草 2013-10-31
           

  

      
 

新客小草欢迎您

 

[1];向上下左右滚动图片的特效

实用的特效,图片自动向上、向下、向左或向右滚动,鼠标移动上图片时就停止,很多网站的滚动图片新闻和友情链接就是用的这种方法。

<!--下面是向上滚动代码-->

<div id=butong_net_top style=overflow:hidden;height:100;width:90;>
<div id=butong_net_top1>
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
</div>
<div id=butong_net_top2></div>
</div>
<script>
var speed=30
butong_net_top2.innerHTML=butong_net_top1.innerHTML //克隆butong_net_top1为butong_net_top2
function Marquee1(){
//当滚动至butong_net_top1与butong_net_top2交界时
if(butong_net_top2.offsetTop-butong_net_top.scrollTop<=0)  
butong_net_top.scrollTop-=butong_net_top1.offsetHeight //butong_net_top跳到最顶端
else{
butong_net_top.scrollTop++;
}
}
var MyMar1=setInterval(Marquee1,speed)//设置定时器
//鼠标移上时清除定时器达到滚动停止的目的
butong_net_top.onmouseover=function() {clearInterval(MyMar1)}
//鼠标移开时重设定时器
butong_net_top.onmouseout=function(){MyMar1=setInterval(Marquee1,speed)}
</script>

<!--向上滚动代码结束-->

<br>

<!--下面是向下滚动代码-->

<div id=butong_net_bottom style=overflow:hidden;height:100;width:90;>
<div id=butong_net_bottom1>
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
<img src="
http://www./texiao/images/logo88.gif">
</div>
<div id=butong_net_bottom2></div>
</div>
<script>
var speed=30
butong_net_bottom2.innerHTML=butong_net_bottom1.innerHTML
butong_net_bottom.scrollTop=butong_net_bottom.scrollHeight
function Marquee2(){
if(butong_net_bottom1.offsetTop-butong_net_bottom.scrollTop>=0)
butong_net_bottom.scrollTop+=butong_net_bottom2.offsetHeight
else{
butong_net_bottom.scrollTop--
}
}
var MyMar2=setInterval(Marquee2,speed)
butong_net_bottom.onmouseover=function() {clearInterval(MyMar2)}
butong_net_bottom.onmouseout=function() {MyMar2=setInterval(Marquee2,speed)}
</script>

<!--向下滚动代码结束-->

<br>

<!--下面是向左滚动代码-->

<div id="butong_net_left" style="overflow:hidden;width:500px;">
<table cellpadding="0" cellspacing="0" border="0">
<tr><td id="butong_net_left1" valign="top" align="center">
<table cellpadding="2" cellspacing="0" border="0">
<tr align="center">
<td><img src="
http://www./texiao/images/logo88.gif"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td><td><img src="http://www./texiao/images/logo88.gif" width="88"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td>
</tr>
</table>
</td>
<td id="butong_net_left2" valign="top"></td>
</tr>
</table>
</div>
<script>
var speed=30//速度数值越大速度越慢
butong_net_left2.innerHTML=butong_net_left1.innerHTML
function Marquee3(){
if(butong_net_left2.offsetWidth-butong_net_left.scrollLeft<=0)
butong_net_left.scrollLeft-=butong_net_left1.offsetWidth
else{
butong_net_left.scrollLeft++
}
}
var MyMar3=setInterval(Marquee3,speed)
butong_net_left.onmouseover=function() {clearInterval(MyMar3)}
butong_net_left.onmouseout=function() {MyMar3=setInterval(Marquee3,speed)}
</script>

<!--向左滚动代码结束-->

<br>

<!--下面是向右滚动代码-->

<div id="butong_net_right" style="overflow:hidden;width:500px;">
<table cellpadding="0" cellspacing="0" border="0">
<tr><td id="butong_net_right1" valign="top" align="center">
<table cellpadding="2" cellspacing="0" border="0">
<tr align="center">
<td><img src="
http://www./texiao/images/logo88.gif"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td>
<td><img src="
http://www./texiao/images/logo88.gif"></td>
</tr>
</table>
</td>
<td id="butong_net_right2" valign="top"></td>
</tr>
</table>
</div>
<script>
var speed=30//速度数值越大速度越慢
butong_net_right2.innerHTML=butong_net_right1.innerHTML
function Marquee4(){
if(butong_net_right.scrollLeft<=0)
butong_net_right.scrollLeft+=butong_net_right2.offsetWidth
else{
butong_net_right.scrollLeft--
}
}
var MyMar4=setInterval(Marquee4,speed)
butong_net_right.onmouseover=function() {clearInterval(MyMar4)}
butong_net_right.onmouseout=function() {MyMar4=setInterval(Marquee4,speed)}
</script>

<!--向右滚动代码结束-->

使用说明:上面代码中包含向上、下、左、右四个方向滚动图片的四段代码,可按代码中的注释选择你需要代码,然后将其余代码删除,代码中的"width"和"height"的值为滚动图片区的宽和高,代码中的<img src="http://www./texiao/images/logo88.gif">为依次滚动的图片,只需将src的值改为你的图片地址即可,当然你也可以为图片加上链接,如:<a href="http://texiao." target="_blank"><img src="http://www./texiao/images/logo88.gif"></a>,代码中var speed的值为图片滚动的速度,可以根据你的需要更改。(注:特效中图片滚动区的高度(向上和向下滚动图片)或宽度(向左和向右滚动图片)必须比全部滚动图片的总高度或宽度小,否则图片滚动会出现问题。)

[2];给图片添加图片的倒影

一个不错的图片特效,为图片加上图片的倒影,可以用于网页上的任何图片。

<SCRIPT LANGUAGE="JavaScript">
<!--
document.getElementsByClassName = function(className) {
 var children = document.getElementsByTagName('*') || document.all;
 var elements = new Array();
 
 for (var i = 0; i < children.length; i++) {
  var child = children[i];
  var classNames = child.className.split(' ');
  for (var j = 0; j < classNames.length; j++) {
   if (classNames[j] == className) {
    elements.push(child);
    break;
   }
  }
 }
 return elements;
}

var Reflection = {
 defaultHeight : 0.5,
 defaultOpacity: 0.5,
 
 add: function(image, options) {
  Reflection.remove(image);
  
  doptions = { "height" : Reflection.defaultHeight, "opacity" : Reflection.defaultOpacity }
  if (options) {
   for (var i in doptions) {
    if (!options[i]) {
     options[i] = doptions[i];
    }
   }
  } else {
   options = doptions;
  }
 
  try {
   var d = document.createElement('div');
   var p = image;
   
   var classes = p.className.split(' ');
   var newClasses = '';
   for (j=0;j<classes.length;j++) {
    if (classes[j] != "reflect") {
     if (newClasses) {
      newClasses += ' '
     }
     
     newClasses += classes[j];
    }
   }

   var reflectionHeight = Math.floor(p.height*options['height']);
   var divHeight = Math.floor(p.height*(1+options['height']));
   
   var reflectionWidth = p.width;
 
   /* Copy original image's classes & styles to div */
   d.className = newClasses;
   p.className = 'reflected';
   
   d.style.cssText = p.style.cssText;
   p.style.cssText = ' ';
   
   if (document.all && !window.opera) {
    var reflection = document.createElement('img');
    reflection.src = p.src;
    reflection.style.width = reflectionWidth+'px';
    
    reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';
    reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+(options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';
    
    d.style.width = reflectionWidth+'px';
    d.style.height = divHeight+'px';
    p.parentNode.replaceChild(d, p);
    
    d.appendChild(p);
    d.appendChild(reflection);
   } else {
    var canvas = document.createElement('canvas');
    var context = canvas.getContext("2d");
   
    canvas.style.height = reflectionHeight+'px';
    canvas.style.width = reflectionWidth+'px';
    canvas.height = reflectionHeight;
    canvas.width = reflectionWidth;
    
    d.style.width = reflectionWidth+'px';
    d.style.height = divHeight+'px';
    p.parentNode.replaceChild(d, p);
    
    d.appendChild(p);
    d.appendChild(canvas);
    
    context.save();
    
    context.translate(0,image.height-1);
    context.scale(1,-1);
    
    context.drawImage(image, 0, 0, reflectionWidth, image.height);

    context.restore();
    
    context.globalCompositeOperation = "destination-out";
    var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);
    
    gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
    gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");
 
    context.fillStyle = gradient;
    if (navigator.appVersion.indexOf('WebKit') != -1) {
     context.fill();
    } else {
     context.fillRect(0, 0, reflectionWidth, reflectionHeight*2);
    }
   }
  } catch (e) {
     }
 },
 
 remove : function(image) {
  if (image.className == "reflected") {
   image.className = image.parentNode.className;
   image.parentNode.parentNode.replaceChild(image, image.parentNode);
  }
 }
}

function addReflections() {
 var rimages = document.getElementsByClassName('reflect');
 for (i=0;i<rimages.length;i++) {
  var rheight = null;
  var ropacity = null;
  
  var classes = rimages[i].className.split(' ');
  for (j=0;j<classes.length;j++) {
   if (classes[j].indexOf("rheight") == 0) {
    var rheight = classes[j].substring(7)/100;
   } else if (classes[j].indexOf("ropacity") == 0) {
    var ropacity = classes[j].substring(8)/100;
   }
  }
  
  Reflection.add(rimages[i], { height: rheight, opacity : ropacity});
 }
}

var previousOnload = window.onload;
window.onload = function () { if(previousOnload) previousOnload(); addReflections(); }

//-->
</SCRIPT>

使用说明:把此特效<head></head>区的代码加入网页的<head></head>区,然后只需在你网页上所插入图片的<img>代码中加入class="reflect"就可以为该图片添加图片的倒影,如:插入图片的代码为<img src="butong_net.jpg">,那就修改为<img class="reflect" src="butong_net.jpg">

把如下代码复制到<body>与</body>之间

<img class="reflect" src="butong_net.jpg">

[3];小方框中浏览大图

如果图片放在网页上觉得很大,又不想压缩图片的尺寸,使用此特效是个不错的方法,可以将图片放在自定大小的框中,实时随鼠标移动而移动。

<style type="text/css">
<!--
#pic {
 width:480px;
 height:320px;
 border: 3px solid #ccc;
 background-image: url(images/butong_net.jpg);
 background-repeat: no-repeat;
 background-position: 0px 0px;
 cursor: move;
}
-->
</style>
<script type="text/javascript">
<!--
var p = new Array();
var speed = 0.05;  //速度
var picWidth = 1280;  // 大图的宽高
var picHeight = 971;
var x,y // 鼠标点下去时背景的坐标
var x_new,y_new  //位移
var haveclick = false;

function getmouseposition(event)
{
 if(document.all)
 {
  x = document.body.scrollLeft+event.clientX;
  y = document.body.scrollTop+event.clientY;
 }else
 {
  x = event.layerX;
  y = event.layerY;
 } 
 haveclick = true;
}
function movestop()
{
 haveclick = false;
}

function movestart(event)
{
if(haveclick)
{
 if(document.getElementById('pic').style.backgroundPosition.length==0)
  {document.getElementById('pic').style.backgroundPosition="0px 0px";}
 p = document.getElementById('pic').style.backgroundPosition.split(" ")

 if(document.all)
 { 
  x_new = document.body.scrollLeft+event.clientX;
  y_new = document.body.scrollTop+event.clientY;
 }else
 { 
  x_new = event.layerX;
  y_new = event.layerY; 
 }
 
 x2 = (speed*(x_new-x)+parseInt(p[0])).toString(10);    // 计算位移量
 y2 = (speed*(y_new-y)+parseInt(p[1])).toString(10);
 
 if (x2<-picWidth+420) x2=-picWidth+420;
 if (y2>0) y2=0;
 if (x2>0) x2=0;
 if (y2<-picHeight+300) y2=-picHeight+300;

 document.getElementById('pic').style.backgroundPosition=x2+"px "+y2+"px";
}
}
-->
</script>

把如下代码复制到<body>与</body>之间

<div id="pic" onmousedown="getmouseposition(event)" onmousemove="movestart(event)" onmouseup="movestop()" onmouseout="movestop()"> </div>

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多