拉勾网图片切换效果

闲的无事,看到拉钩网图片切换效果不错,拿来练练。效果如下:

戳这里查看

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拉钩网图片切换</title>
</head>
<body>
    <div id="banner">
        <ul class="banner-img">
            <li><a href="javascript:;"><img src="http://www.lagou.com/upload/indexPromotionImage/ff8080814d661121014d848153410440.jpg" /></a></li>
            <li><a href="javascript:;"><img src="http://www.lagou.com/upload/indexPromotionImage/ff8080814d661121014d80c042810438.jpg" /></a></li>
            <li><a href="javascript:;"><img src="http://www.lagou.com/upload/indexPromotionImage/ff8080814d661121014d8b175d3604ab.jpg" /></a></li>
        </ul>
        <div class="banner-control">
            <ul>
                <li><span></span><img src="http://www.lagou.com/upload/indexPromotionSmallImage/ff8080814d661121014d8481902b0441.jpg" /></li>
                <li><span></span><img src="http://www.lagou.com/upload/indexPromotionSmallImage/ff8080814d661121014d80c058180439.png" /></li>
                <li><span></span><img src="http://www.lagou.com/upload/indexPromotionSmallImage/ff8080814d661121014d8b1772b904ac.jpg" /></li>
            </ul>
            <strong></strong>
        </div>
    </div>
</body>
</html>
window.onload = function(){
    var oBanner = document.getElementById(‘banner‘);
    var imgBox = getByClass(oBanner,‘banner-img‘)[0];
    var oControl = getByClass(oBanner,‘banner-control‘)[0];
    var aBtn =oControl.getElementsByTagName(‘ul‘)[0].children;
    var oString = oBanner.getElementsByTagName(‘strong‘)[0];
    var time = 4000 //自动切换间隔时间
    var iNow = 0;
    for(var i = 0;i < aBtn.length;i++){
        aBtn[0].className = ‘cur‘
        aBtn[iNow].onmouseover = function(){
            imgSwitch();
        }
    }
    function imgSwitch(){
        for(var i = 0;i < aBtn.length;i++){
            aBtn[i].className= "";
        }
        aBtn[iNow].className = ‘cur‘;
        move(oString,{top:iNow*55},{duration:400});
        move(imgBox,{top:-iNow*imgBox.children[0].offsetHeight},{duration:400});
    }
    setInterval(function(){
        iNow++;
        console.log(iNow)
        if(iNow > aBtn.length-1){
            iNow =0;
        }
        imgSwitch();
    },time)
    //获取Class
    function getByClass(oParent, sClass){
    if(oParent.getElementsByClassName){
        return oParent.getElementsByClassName(sClass);
    }else{
        var aEle=oParent.getElementsByTagName(‘*‘);
        var re=new RegExp(‘\\b‘+sClass+‘\\b‘);
        var result=[];

        for(var i=0;i<aEle.length;i++){
            if(aEle[i].className.search(re)!=-1){
                result.push(aEle[i]);
            }
        }
        return result;
    }
}
    //获取样式
    function getStyle(obj,value){
      return obj.currentStyle?obj.currentStyle[value]:getComputedStyle(obj,false)[value];
    }
    //运动
    function move(obj,json,options){
        options = options || {};
        options.duration = options.duration || 700;
        options.easing = options.easing || ‘ease-out‘;
        var start = {};
        var dis = {};
        for(var name in json){
            start[name] = parseFloat(getStyle(obj,name));
            dis[name] = json[name] - start[name];
        }
        var count = Math.round(options.duration / 30);
        var n = 0;
        clearInterval(obj.timer)
        obj.timer = setInterval(function(){
            n++;
            for(var name in json){
                switch(options.easing){
                    case ‘linear‘:
                        var a = n/count;
                        var cur = start[name] + dis[name]*a;
                    break;
                    case ‘ease-in‘:
                        var a = n/count;
                        var cur = start[name] + dis[name]*a*a*a;
                    break;
                    case ‘ease-out‘:
                        var a = 1-n/count;
                        var cur = start[name] + dis[name]*(1-a*a*a);
                    break;
                }
                if(name == ‘opactiy‘){
                    obj.style.opacity = cur;
                    obj.style.filter = ‘alpha(opacity:‘+cur*100+‘)‘;
                }else{
                    obj.style[name] = cur + ‘px‘
                }
            }
            if(n == count){
                clearInterval(obj.timer)
                options.complete && options.complete();
            }
        },30)
    }
}
*{margin:0;padding:0;}
ul{list-style: none;}
img{vertical-align: top;border:none;}
#banner{width:744px;height:160px;overflow: hidden;position: relative;}
.banner-img{width:612px;height:160px;float:left;position:absolute;top:0;left:0;}
.banner-control{float:right;width:121px;position:relative;cursor: pointer}
.banner-control li{height:42px;border: 4px solid #d3d3d3;margin-bottom:5px;position:relative;}
.banner-control li span{position: absolute;width:100%;height:42px;background:#000;filter:alpha(opacity=50);opacity:0.5;top:0;left:0;}
.banner-control strong{width:127px;height:50px;background: url(http://www.lagou.com/images/control_current.png) no-repeat;position: absolute;right:0;top:0;}
.banner-control .cur span{background:none;}
时间: 2024-10-06 19:12:37

拉勾网图片切换效果的相关文章

网站——循环图片切换效果(最近做网站,已经快炸了)

看一下效果 <!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="zh-cn"><head><meta

一款在论坛上看到的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"> <head> <meta http-equiv="Content-

图片切换特效(1):原生JS图片切换效果

转自:http://www.codefans.net/jscss/code/4699.shtml <!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">

Android 自定义 ViewPager 打造千变万化的图片切换效果

Android 自定义 ViewPager 打造千变万化的图片切换效果 标签: Android自定义ViewPagerJazzyViewPager 目录(?)[+] 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38026503 记 得第一次见到ViewPager这个控件,瞬间爱不释手,做东西的主界面通通ViewPager,以及图片切换也抛弃了ImageSwitch之类的,开 始让ViewPager来做.时间长了,ViewPa

带缩略图的图片切换效果

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title></title> 6 <style type="text/css"> 7 *{margin: 0;padding: 0;} 8 9 #box{width: 520px;height: 350px;margin:50px auto;border

css图片切换效果分析+翻译整理

Demos:http://tympanus.net/Tutorials/CSS3SlidingImagePanels/ 出处:http://tympanus.net/codrops/2012/01/17/sliding-image-panels-with-css3/ 这个教程将介绍如何使用纯CSS创建一个干净的幻灯图片面板.主要想法是在面板中使用背景图片,然后在点击标签后让动画起效. 今天我们将向您展示如何创建仅适用于CSS一些巧妙的滑动图像面板.该想法是使用背景图像的面板和一个标签上点击时动画

JS图片切换效果

源地址:http://www.codefans.net/jscss/code/4699.shtml <!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"&g

jquery简单的图片切换效果,支持pc端、移动端的banner图片切换开发

详细内容请点击 无意中看见了两年前写的一个图片切换,那会儿刚刚学习网页制作,可以说是我的第一个处女座的jquery图片切换效果.无聊之余对它的宽度稍稍做了一下修改,变成了支持pc端.手机端全屏的banner图片切换效果. 写法很简单,网页初学者们或者wenbapp初学者们可以拿去学习学习,也可以在这基础上加上手机的图片滑动切换效果.废话不多说,下面说说这个简单的图片切换的效果吧! 首先以下是图片切换的效果图:   图片切换效果html内容: <div class="tyna2"&

jquery带按钮的图片切换效果

<!doctype html> <html> <head> <meta charset="gb2312"> <title>jquery带按钮的图片切换效果</title> <script type="text/javascript" src="jquery-1.8.0.js"></script> <style type="text/cs