• 用html+css+jQuery实现的一个简单的图片切换特效


    这篇文章主要介绍了用html+css+js(jQuery)实现的一个简单的图片切换特效,需要的朋友可以参考下.

    记得要引入一个jQuery库文件,可以是网上在线的,也可以是本地的,注意路径。

    如图所示。 


    该图片切换特效实现很简单,而且兼容性很好。 

    html页面如下 

    复制代码代码如下:
    <div class="wrapper"> 
    <div id="focus"> 
    <ul> 
    <li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/01.jpg" alt="QQ商城焦点图效果下载" /></a></li> 
    <li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/02.jpg" alt="QQ商城焦点图效果教程" /></a></li> 
    <li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/03.jpg" alt="jquery商城焦点图效果" /></a></li> 
    <li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/04.jpg" alt="jquery商城焦点图代码" /></a></li> 
    <li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/05.jpg" alt="jquery商城焦点图源码" /></a></li> 
    </ul> 
    </div> 
    
    </div><!-- wrapper end --> 
    </body> 

    css样式 

    复制代码代码如下:

    <style type="text/css"> 
    * {margin:0; padding:0;} 
    body {font-size:12px; color:#222; font-family:Verdana,Arial,Helvetica,sans-serif; background:#f0f0f0;} 
    .clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;} 
    .clearfix {zoom:1;} 
    ul,li {list-style:none;} 
    img {border:0;} 
    
    .wrapper {width:800px; margin:0 auto; padding-bottom:50px;} 
    
    /* qqshop focus */ 
    #focus {width:800px; height:280px; overflow:hidden; position:relative;} 
    #focus ul {height:380px; position:absolute;} 
    #focus ul li {float:left; width:800px; height:280px; overflow:hidden; position:relative; background:#000;} 
    #focus ul li div {position:absolute; overflow:hidden;} 
    #focus .btnBg {position:absolute; width:800px; height:20px; left:0; bottom:0; background:#000;} 
    #focus .btn {position:absolute; width:780px; height:10px; padding:5px 10px; right:0; bottom:0; text-align:right;} 
    #focus .btn span {display:inline-block; _display:inline; _zoom:1; width:25px; height:10px; _font-size:0; margin-left:5px; cursor:pointer; background:#fff;} 
    #focus .btn span.on {background:#fff;} 
    #focus .preNext {width:45px; height:100px; position:absolute; top:90px; background:url(img/sprite.png) no-repeat 0 0; cursor:pointer;} 
    #focus .pre {left:0;} 
    #focus .next {right:0; background-position:right top;} 
    </style> 


    js脚本 

    复制代码代码如下:

    $(function() { 
    var sWidth = $("#focus").width(); //获取焦点图的宽度(显示面积) 
    var len = $("#focus ul li").length; //获取焦点图个数 
    var index = 0; 
    var picTimer; 
    
    //以下代码添加数字按钮和按钮后的半透明条,还有上一页、下一页两个按钮 
    var btn = "<div class='btnBg'></div><div class='btn'>"; 
    for(var i=0; i < len; i++) { 
    btn += "<span></span>"; 
    } 
    btn += "</div><div class='preNext pre'></div><div class='preNext next'></div>"; 
    $("#focus").append(btn); 
    $("#focus .btnBg").css("opacity",0.5); 
    
    //为小按钮添加鼠标滑入事件,以显示相应的内容 
    $("#focus .btn span").css("opacity",0.4).mouseenter(function() { 
    index = $("#focus .btn span").index(this); 
    showPics(index); 
    }).eq(0).trigger("mouseenter"); 
    
    //上一页、下一页按钮透明度处理 
    $("#focus .preNext").css("opacity",0.2).hover(function() { 
    $(this).stop(true,false).animate({"opacity":"0.5"},300); 
    },function() { 
    $(this).stop(true,false).animate({"opacity":"0.2"},300); 
    }); 
    
    //上一页按钮 
    $("#focus .pre").click(function() { 
    index -= 1; 
    if(index == -1) {index = len - 1;} 
    showPics(index); 
    }); 
    
    //下一页按钮 
    $("#focus .next").click(function() { 
    index += 1; 
    if(index == len) {index = 0;} 
    showPics(index); 
    }); 
    
    //本例为左右滚动,即所有li元素都是在同一排向左浮动,所以这里需要计算出外围ul元素的宽度 
    $("#focus ul").css("width",sWidth * (len)); 
    
    //鼠标滑上焦点图时停止自动播放,滑出时开始自动播放 
    $("#focus").hover(function() { 
    clearInterval(picTimer); 
    },function() { 
    picTimer = setInterval(function() { 
    showPics(index); 
    index++; 
    if(index == len) {index = 0;} 
    },4000); //此4000代表自动播放的间隔,单位:毫秒 
    }).trigger("mouseleave"); 
    
    //显示图片函数,根据接收的index值显示相应的内容 
    function showPics(index) { //普通切换 
    var nowLeft = -index*sWidth; //根据index值计算ul元素的left值 
    $("#focus ul").stop(true,false).animate({"left":nowLeft},300); //通过animate()调整ul元素滚动到计算出的position 
    //$("#focus .btn span").removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果 
    $("#focus .btn span").stop(true,false).animate({"opacity":"0.4"},300).eq(index).stop(true,false).animate({"opacity":"1"},300); //为当前的按钮切换到选中的效果 
    } 
    }); 


    用到的左右切换图片

  • 相关阅读:
    说说你对集成测试中自顶向下集成和自底向上集成两个策略的理解,要谈出它们各自的优缺点和主要适应于哪种类型测试;
    通过画因果图来写测试用例的步骤为___、___、___、___及把因果图转换为状态图共五个步骤。&#160;利用因果图生成测试用例的基本步骤是:
    性能测试的流程?
    简述bug的生命周期?
    主键、外键的作用,索引的优点与不足?
    循序渐进VUE+Element 前端应用开发(30)--- ABP后端和Vue+Element前端结合的分页排序处理(转载)
    循序渐进VUE+Element 前端应用开发(31)--- 系统的日志管理,包括登录日志、接口访问日志、实体变化历史日志(转载)
    黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!     
    如何测试一个纸杯?
    测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?
  • 原文地址:https://www.cnblogs.com/hl-520/p/4241151.html
Copyright © 2020-2023  润新知