`
hduyou
  • 浏览: 23375 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

js 图片切换效果

阅读更多
//代码一
<!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" lang="gb2312">
<head>
<title>JS图片切换 -JS特效学院</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="generator" content="editplus" />
<meta name="author" content="eLore" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<style type="text/css">
* { margin:0; padding:0; }
body {
 margin:0;
 color:#88c; background:#333;
}
img { margin:0; padding:0; border:0; }
#js_F {
 position:relative;
 top:10px; left:10px;
 overflow:hidden;
 width:395px; height:185px;
 background:#33c;
}
.div_img {
 position:absolute; top:0;
 width:295px; height:185px;
 cursor:pointer;
}
#div_img_0 { z-index:5; left:0; }
#div_img_1 { z-index:4; left:25px; }
#div_img_2 { z-index:3; left:50px; }
#div_img_3 { z-index:2; left:75px; }
#div_img_4 { z-index:1; left:100px; }
</style>
</head>
<body>
<div id="js_F">
 <div id="div_img_0" class="div_img"><a href="#"><img src="http://www.lmwq.com.cn/imglist/01.jpg" /></a><img src="http://www.lmwq.com.cn/i/bg_showimg.gif" onmouseover="jsf_mmove(0)" /></div>
 <div id="div_img_1" class="div_img"><a href="#"><img src="http://www.lmwq.com.cn/imglist/02.jpg" /></a><img src="http://www.lmwq.com.cn/i/bg_showimg.gif" onmouseover="jsf_mmove(1)" /></div>
 <div id="div_img_2" class="div_img"><a href="#"><img src="http://www.lmwq.com.cn/imglist/03.jpg" /></a><img src="http://www.lmwq.com.cn/i/bg_showimg.gif" onmouseover="jsf_mmove(2)" /></div>
 <div id="div_img_3" class="div_img"><a href="#"><img src="http://www.lmwq.com.cn/imglist/04.jpg" /></a><img src="http://www.lmwq.com.cn/i/bg_showimg.gif" onmouseover="jsf_mmove(3)" /></div>
 <div id="div_img_4" class="div_img"><a href="#"><img src="http://www.lmwq.com.cn/imglist/05.jpg" /></a><img src="http://www.lmwq.com.cn/i/bg_showimg.gif" onmouseover="jsf_mmove(4)" /></div>
</div>
<script type="text/javascript">
<!--///*--><![CDATA[/*><!--*/
var div_imgs = document.getElementById("js_F").getElementsByTagName("div");
var imgLeft = [0, 25, 50, 75, 100]; //5个图片的初始left值
var imgWidth = 270; //图片的宽度
var atf = [true, true, true, true, true]; //5个图片的位置:true为右边,false为左边
var speed1 = 10, speed2 = 2000, mo = 15; //速度
var sTo;
function jsf_move(n){
 clearTimeout(sTo);
 var thisL; //图片left值
 if (atf[n]) { //要移动的图片在右边
  //需移动的图片(包括该图片左边的所有图片)向左边移动)
  for (var i=0; i<=n; i++) { //当前值-(图片宽度-(当前值-初始值))/速度
   thisL = parseInt(getStyle(div_imgs[i],"left"));
   div_imgs[i].style.left = thisL - Math.ceil((imgWidth-(imgLeft[i]-thisL))/mo) + "px";
   if (i<n) atf[i] = false; //更改图片的位置状态
  }
 } else { //要移动的图片在左边
  //需移动的图片(包括该图片右边的所有图片)向右边移动)
  for (var i=4; i>=n; i--) { //当前值+(当前值-初始值)/速度
   thisL = parseInt(getStyle(div_imgs[i],"left"));
   div_imgs[i].style.left = thisL + Math.ceil(Math.abs(thisL-imgLeft[i])/mo) + "px";
   if (i>n) atf[i] = true; //更改图片的位置状态
  }
 }
 thisL = parseInt(getStyle(div_imgs[n],"left"));
 if ((atf[n]  &&  thisL>(imgLeft[n]-imgWidth)) || (!atf[n]  &&  thisL<imgLeft[n])) {
  //当前图片移动未结束,继续移动当前图片
  sTo = setTimeout(function(){jsf_move(n);}, speed1);
 } else {
  //当前图片移动结束,准备移动下一张图片
  if (n>=3  &&  atf[n]) {
   atf[n] = false;
   sTo = setTimeout(function(){jsf_move(n);}, speed2);
  } else if (n==0  &&  !atf[n]) {
   atf[n] = true;
   sTo = setTimeout(function(){jsf_move(n);}, speed2);
  } else if (atf[n]){
   atf[n] = false;
   sTo = setTimeout(function(){jsf_move(++n);}, speed2);
  } else {
   sTo = setTimeout(function(){jsf_move(--n);}, speed2);
  }
 }
}
//判断图片的位置
function jsf_mmove(n){
 clearTimeout(sTo);
 switch (n){
 case 0 :
  atf[0] = false;
  jsf_move(0);
  break;
 case 1 :
 case 2 :
 case 3 :
  if (atf[n-1]) {
   sTo = setTimeout(function(){jsf_move(n-1);}, speed1);
  } else if (atf[n]) {
   atf[n-1] = true;
   sTo = setTimeout(function(){jsf_move(n-1);}, speed1);
  } else {
   sTo = setTimeout(function(){jsf_move(n);}, speed1);
  }
  break;
 case 4 :
  atf = [false, false, false, true, true];
  jsf_move(3);
  break; 
 }
}
window.onload = function(){
 sTo = setTimeout("jsf_move(0)",speed2);
}
function getStyle( elem, name ) {
 if (elem.style[name]) { return elem.style[name]; }
 else if (elem.currentStyle) { return elem.currentStyle[name]; }
 else if (document.defaultView  &&  document.defaultView.getComputedStyle) {
  name = name.replace(/([A-Z])/g,"-$1");
  name = name.toLowerCase();
  var s = document.defaultView.getComputedStyle(elem,"");
  return s  &&  s.getPropertyValue(name);
 }
 else { return null; }
}
/*]]>*///-->
</script>
</body>
</html>





//代码二
<!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>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<!--把下面代码加到<head>与</head>之间-->
<script type="text/javascript" src="http://www.CsrCode.cn/html/txdm_2/images/20100901/jquery-1.32pack.js"></script>
<script type="text/javascript">
/*
==轮播{对象|对象属性}==
对象属性{宽度|高度|文字大小|自动切换时间}
*/
(function($){
    dk_slideplayer = function(object,config){
        this.obj = object;
        this.n =0;
        this.j =0;
        var _this = this;
        var t;
        var defaults = {width:"300px",height:"200px",fontsize:"12px",right:"0px",bottom:"3px",time:"5000"};
        this.config = $.extend(defaults,config);
        this.count = $(this.obj + " li").size();
        if(this.config.fontsize == "14px"){
            this.size = "14px";this.height = "23px";this.right = "6px";this.bottom = "15px";
        }else{
            this.size = "12px";this.height = "21px";this.right = "6px";this.bottom = "10px";
        }
        this.factory = function(){
            //元素定位
            $(this.obj).css({position:"relative",zIndex:"0",margin:"0",padding:"0",width:this.config.width,height:this.config.height,overflow:"hidden"})
            $(this.obj).prepend("<div style='position:absolute;z-index:20;right:"+this.config.right+";bottom:"+this.config.bottom+"'></div>");
            $(this.obj + " li").css({position:"absolute",top:"0",left:"0",width:"100%",height:"100%",overflow:"hidden"}).each(function(i){
                $(_this.obj + " div").append("<a>"+(i+1)+"</a>");
            });
            $(this.obj + " img").css({border:"none",width:"100%",height:"100%"})
            this.resetclass(this.obj + " div a",0);
            //标题背景
            $(this.obj).prepend("<div class='dkTitleBg'></div>");
            $(this.obj + " .dkTitleBg").css({position:"absolute",margin:"0",padding:"0",zIndex:"1",bottom:"0",left:"0",width:"100%",height:_this.height,background:"#000",opacity:"0.4",overflow:"hidden"})
            //插入标题
            $(this.obj).prepend("<div class='dkTitle'></div>");
            $(this.obj + " p").each(function(i){   
                $(this).appendTo($(_this.obj + " .dkTitle")).css({position:"absolute",margin:"0",padding:"0",zIndex:"2",bottom:"0",left:"0",width:"100%",height:_this.height,lineHeight:_this.height,textIndent:"5px",textDecoration:"none",fontSize:_this.size,color:"#FFFFFF",background:"none",opacity:"1",overflow:"hidden"});
                if(i!= 0){$(this).hide()}
            });
            this.slide();
            this.addhover();
            t = setInterval(this.autoplay,this.config.time);
        }
        //图片渐影
        this.slide = function(){
            $(this.obj + " div a").mouseover(function(){
                _this.j = $(this).text() - 1;
                _this.n = _this.j;
                if (_this.j >= _this.count){return;}
                $(_this.obj + " li:eq(" + _this.j + ")").fadeIn("200").siblings("li").fadeOut("200");
                $(_this.obj + " .dkTitle p:eq(" + _this.j + ")").show().siblings().hide();
                _this.resetclass(_this.obj + " div a",_this.j);
            });
        }
        //滑过停止
        this.addhover = function(){
            $(this.obj).hover(function(){clearInterval(t);}, function(){t = setInterval(_this.autoplay,_this.config.time)});
        }
        //自动播放 
        this.autoplay = function(){
            _this.n = _this.n >= (_this.count - 1) ? 0 : ++_this.n;
            $(_this.obj + " div a").eq(_this.n).triggerHandler('mouseover');
        }
        //翻页函数
        this.resetclass =function(obj,i){
            $(obj).css({float:"left",marginRight:"3px",width:"15px",height:"14px",lineHeight:"15px",textAlign:"center",fontWeight:"800",fontSize:"12px",color:"#000",background:"#FFFFFF",cursor:"pointer"});
            $(obj).eq(i).css({color:"#FFFFFF",background:"#FF7D01",textDecoration:"none"});
        }
        this.factory();
    }
})(jQuery)
</script>
</head>
<body>

<div style="clear:both; margin-bottom:20px;">
    <ul id="pub_slideplay">
        <li>
            <a target="_blank" href="#">
                <img alt="" src="http://www.csrcode.cn/html/txdm_2/images/20100901/01.gif">
                <p>昨天身材超好的新娘晒马代蜜月</p>
            </a>
        </li>
        <li>
            <a target="_blank" href="#">
                <img alt="" src="http://www.csrcode.cn/html/txdm_2/images/20100901/02.jpg">
                <p>给我人生中第一个一克拉的钻</p>
            </a>
        </li>
        <li>
            <a target="_blank" href="#">
                <img alt="" src="http://www.csrcode.cn/html/txdm_2/images/20100901/03.jpg">
                <p>我喜欢自己二十岁时甜美的笑</p>
            </a>
        </li>
        <li>
            <a target="_blank" href="#">
                <img alt="" src="http://www.csrcode.cn/html/txdm_2/images/20100901/04.jpg">
                <p>单眼皮MM也可以很漂亮</p>
            </a>
        </li>
        <li>
            <a target="_blank" href="#">
                <img alt="" src="http://www.csrcode.cn/html/txdm_2/images/20100901/05.jpg">
                <p>一桌子好菜大餐都没人敢吃</p>
            </a>
        </li>
        <li>
            <a target="_blank" href="#">
                <img alt="" src="http://www.csrcode.cn/html/txdm_2/images/20100901/06.jpg">
                <p>大学女生寝室真的很“丰满”</p>
            </a>
        </li>
    </ul>
</div>

<script type="text/javascript">new dk_slideplayer("#pub_slideplay",{width:"320px",height:"170px",fontsize:"12px",time:"5000"});</script>

</body>
</html>


分享到:
评论

相关推荐

    JavaScript图片切换效果.rar

    JavaScript图片切换效果是一种常见的网页动态展示技术,常用于制作轮播图、相册或产品展示等。这种效果可以通过JavaScript库,如jQuery,或者原生JavaScript实现。本资源"JavaScript图片切换效果.rar"提供了一个实例...

    js图片切换效果

    在JavaScript(JS)中实现图片切换效果是一种常见的前端开发任务,可以增强网页的交互性和视觉体验。"js图片切换效果"通常涉及到动态加载、动画过渡和用户体验优化等多个方面。在这个场景下,描述提到"当前显示的...

    多种js图片切换效果

    在JavaScript(简称JS)编程中,图片切换效果是一种常见的网页动态设计技术,它极大地提升了用户体验,使得静态的图片展示变得更加生动有趣。本篇文章将深入探讨几种常用的JS图片切换效果及其实现方法。 首先,我们...

    JS图片切换效果

    "JS图片切换效果"就是一种利用JavaScript实现的此类功能。在这个项目中,开发者通过编写JavaScript代码实现了图片在页面上左右切换的效果,使得用户可以通过点击或自动滚动来浏览一系列图片。 首先,我们来理解这个...

    javascript图片切换效果

    在JavaScript图片切换效果中,有几种常见的实现方式: 1. **DOM操作**:通过Document Object Model (DOM) API,我们可以获取到HTML中的图片元素,并改变其`src`属性来实现图片切换。例如,我们可以预先将多张图片的...

    JavaScript图片切换效果

    JavaScript图片切换效果是一种常见的网页动态展示技术,常用于制作网页中的轮播图、幻灯片等组件。在网页设计中,这种效果能够增加用户的交互体验,使得网站内容更具有吸引力。下面将详细介绍JavaScript实现图片切换...

    两种JS图片切换效果

    JS 图片切换效果 图片轮播 支持火狐

    带前后翻页的JS图片切换效果

    "带前后翻页的JS图片切换效果"是利用JavaScript编程语言实现的一种交互式图片展示技术,它允许用户通过点击前后翻页按钮来浏览一组图片。这种效果不仅增加了网站的视觉吸引力,还使用户能够更方便地导航和浏览内容。...

    JS图片切换效果下载

    在本案例中,"JS图片切换效果下载"是指利用JavaScript编写的一种代码实现图片的自动轮换效果,这种效果常见于网站的幻灯片展示、产品轮播等场景,可以提升用户体验并增加网页的视觉吸引力。 图片轮换效果通常基于...

    带翻页的JS图片切换效果

    "带翻页的JS图片切换效果"就是一个这样的实现,它利用JavaScript编程语言为网页添加了翻页功能的图片轮换展示。这种效果通常被称为“幻灯片”或“轮播”,能够以美观且用户友好的方式呈现多张图片。 首先,我们要...

    8种js图片切换效果

    在本主题中,我们将探讨8种不同的JS图片切换效果,这些效果能够为网站增添视觉吸引力,提升用户体验。这些效果通常结合HTML(超文本标记语言)和CSS(层叠样式表)来实现,下面我们将详细讨论每种效果及其实现方法。...

    最经典Flash+JS图片切换效果[多种效果收藏]

    "最经典Flash+JS图片切换效果[多种效果收藏]"是一个集合,它整合了Flash技术和JavaScript语言来实现图片的动态切换效果,这在网页设计中非常常见,特别是在创建滑动展示、轮播图或新闻焦点区域时。以下将详细介绍...

    JavaScript图片切换展示效果.rar

    在图片切换效果中,我们可能需要获取图片元素,设置其显示状态,或者更改其源URL。 2. 事件监听:JavaScript可以监听用户行为,如鼠标点击或键盘按键,也可以监听时间间隔(如定时器)。在图片切换中,可能需要监听...

    带翻页的JS图片切换效果.rar

    【标题】"带翻页的JS图片切换效果"是一个典型的网页互动设计,它利用JavaScript语言实现了一种动态的图片展示方式,用户可以通过翻页来浏览一组图片,这种效果常见于在线相册、产品展示或者广告轮播等场景。...

    JS图片切换效果例子下载

    在JavaScript(JS)中实现图片切换效果是一种常见的前端开发技巧,尤其在网页设计中非常实用。这个"JS图片切换效果例子下载"是一个演示了如何通过JS实现点击小图展示大图功能的实例。下面我们将详细探讨相关的知识点...

    进度条图片切换 带进度条与说明文字的js图片切换效果.zip

    "进度条图片切换 带进度条与说明文字的js图片切换效果.zip"是一个实现这种功能的资源包,它包含了一个利用JavaScript实现的图片切换组件,该组件不仅展示图片,还同时显示进度条和相关的说明文字。这个组件对于创建...

Global site tag (gtag.js) - Google Analytics