手风琴式焦点图jQuery特效

手风琴式焦点图jQuery特效是一款鼠标点击人物图像滑动切换案例说明信息代码。效果图如下:

在线预览   源码下载

实现的代码。

html代码:

 <div class="ag-content-customer-wrap">
        <div class="ag-content-customer">
            <div class="ag-content-customer-ele">
                <div class="ag-content-customer-ele-shadow">
                </div>
                <span>传统企业主</span>
                <img src="images/ag-customer-tradition_ad3bf6f.png" data-hover="77" data-normal="85" />
            </div>
            <div class="ag-content-customer-ele">
                <div class="ag-content-customer-ele-shadow">
                </div>
                <span>淘宝掌柜</span>
                <img src="images/ag-customer-taobao_a9d7af6.png" style="left: 65px;" data-hover="57"
                    data-normal="65" />
            </div>
            <div class="ag-content-customer-ele">
                <div class="ag-content-customer-ele-shadow">
                </div>
                <span>中小企业主</span>
                <img src="images/ag-customer-small_35b8744.png" style="left: 96px;" data-hover="88"
                    data-normal="96" />
            </div>
            <div class="ag-content-customer-ele">
                <div class="ag-content-customer-ele-shadow">
                </div>
                <span>大品牌客户</span>
                <img src="images/ag-customer-brand_9ca1bac.png" style="left: 83px;" data-hover="75"
                    data-normal="83" />
            </div>
            <div class="ag-content-customer-ele">
                <div class="ag-content-customer-ele-shadow">
                </div>
                <span>搜索引擎广告主</span>
                <img src="images/ag-customer-search_83f9a60.png" style="left: 56px;" data-hover="48"
                    data-normal="56" />
            </div>
            <div class="ag-content-customer-ele">
                <div class="ag-content-customer-ele-shadow">
                </div>
                <span>网站主</span>
                <img src="images/ag-customer-web_d2729dd.png" style="left: 83px;" data-hover="75"
                    data-normal="83" />
            </div>
            <div class="ag-content-customer-ele-detail">
                <ul>
                    <li class="acced-li-1"></li>
                    <li class="acced-li-2"></li>
                    <li class="acced-li-3"></li>
                    <li class="acced-li-4"></li>
                    <li class="acced-li-5"></li>
                    <li class="acced-li-6"></li>
                </ul>
                <div class="ag-content-customer-ele-detail-display">
                    <div class="ag-content-customer-ele-detail-display-left">
                        <img src="images/ag-customer-tradition_ad3bf6f.png" />
                    </div>
                    <div class="ag-content-customer-ele-detail-display-right">
                        <span style="top: 30px; right: 0px;">
                            <img src="images/ag-customer-tradition-txt_d2077c8.png" /></span> <a href="/products/weixin"
                                class="agwyx" style="top: 190px; left: 262px;">AG微营销</a>
                    </div>
                </div>
                <div class="ag-content-customer-ele-detail-display">
                    <div class="ag-content-customer-ele-detail-display-left">
                        <img src="images/ag-customer-taobao_a9d7af6.png" />
                    </div>
                    <div class="ag-content-customer-ele-detail-display-right">
                        <span style="top: 30px; right: 0px;">
                            <img src="images/ag-customer-taobao-txt_2d1d5db.png" /></span> <a href="/products/dsp"
                                class="agwm" style="top: 190px; left: 262px;">AG网盟</a>
                    </div>
                </div>
                <div class="ag-content-customer-ele-detail-display">
                    <div class="ag-content-customer-ele-detail-display-left">
                        <img src="images/ag-customer-small_35b8744.png" />
                    </div>
                    <div class="ag-content-customer-ele-detail-display-right">
                        <span style="top: 27px; left: 0px; text-align: right;">
                            <img src="images/ag-customer-small-txt-1_c935044.png" /></span> <span class="point"
                                style="top: 88px; right: 158px;">></span> <a href="/products/dsp" class="agwm" style="top: 40px;
                                    right: 0px;">AG网盟</a> <span style="top: 235px; left: 50px; text-align: right;">
                                        <img src="images/ag-customer-small-txt-2_b08da8b.png" /></span>
                        <span class="point" style="top: 262px; right: 158px;">></span> <a href="/products/reporting-analytics"
                            class="aggg" style="top: 210px; right: 0px;">AG广告效果分析平台</a>
                    </div>
                </div>
                <div class="ag-content-customer-ele-detail-display">
                    <div class="ag-content-customer-ele-detail-display-left">
                        <img src="images/ag-customer-brand_9ca1bac.png" />
                    </div>
                    <div class="ag-content-customer-ele-detail-display-right">
                        <span style="top: 46px; left: 10px; text-align: right;">
                            <img src="images/ag-customer-brand-txt-1_ad914ee.png" /></span> <span class="point"
                                style="top: 88px; right: 158px;">></span> <a href="/products/enterprise" class="agxt"
                                    style="top: 40px; right: 0px;">AG广告系统旗舰版</a> <span style="top: 220px; left: -18px;
                                        text-align: right;">
                                        <img src="images/ag-customer-brand-txt-2_b3dd522.png" /></span>
                        <span class="point" style="top: 262px; right: 158px;">></span> <a href="/products/dsp"
                            class="agwm" style="top: 210px; right: 0px;">AG网盟</a>
                    </div>
                </div>
                <div class="ag-content-customer-ele-detail-display">
                    <div class="ag-content-customer-ele-detail-display-left">
                        <img src="images/ag-customer-search_83f9a60.png" />
                    </div>
                    <div class="ag-content-customer-ele-detail-display-right">
                        <span style="top: 30px; right: 20px;">
                            <img src="images/ag-customer-search-txt_592f82b.png" /></span> <a href="/products/smb"
                                class="jjzs" style="top: 190px; left: 92px;">AG竞价助手</a> <a href="http://sc.chinaz.com"
                                    class="tgrb" style="top: 190px; left: 262px;">推广日报</a> <a href="/products/ag360editor"
                                        class="ag360" style="top: 190px; left: 432px;">AG360营销助手</a>
                    </div>
                </div>
                <div class="ag-content-customer-ele-detail-display">
                    <div class="ag-content-customer-ele-detail-display-left">
                        <img src="images/ag-customer-web_d2729dd.png" />
                    </div>
                    <div class="ag-content-customer-ele-detail-display-right">
                        <span style="top: 60px; right: 60px;">
                            <img src="images/ag-customer-web-txt_c205aff.png" /></span> <a href="/products/reporting-analytics"
                                class="aggg" style="top: 190px; left: 262px;">AG广告效果分析平台</a>
                    </div>
                </div>
                <div class="ag-content-customer-ele-detail-return">
                    <span><</span>重选角色</div>
            </div>
        </div>
    </div>

js代码:

var ctrlBar = false;

        var float_timer = null;
        var float_max_X;
        var float_max_Y;
        var float_ctrl_X = true;
        var float_ctrl_Y = true;
        $(function () {
            float_max_X = $(window).width();
            float_max_Y = $(window).height();
        });
        function showVideoImage() {
            if ($('.vjs-poster').css('display') == 'none') {
                $('.vjs-poster').addClass('index').show();
            } else {
                setTimeout('showVideoImage()', 50);
            }
        }

        function startMove() {
            var obj = $('#floatAdv');
            var limit_X = float_max_X - obj.width();
            var limit_Y = float_max_Y - obj.height();
            float_timer = setInterval(function () {
                var _x = parseInt(obj.css('left'));
                var _y = parseInt(obj.css('top'));
                if (_x >= limit_X) {
                    float_ctrl_X = false;
                }
                if (_x <= 0) {
                    float_ctrl_X = true;
                }
                if (_y >= limit_Y) {
                    float_ctrl_Y = false;
                }
                if (_y <= 0) {
                    float_ctrl_Y = true;
                }
                if (float_ctrl_X) {
                    _x += 1;
                } else {
                    _x -= 1;
                }
                if (float_ctrl_Y) {
                    _y += 1;
                } else {
                    _y -= 1;
                }
                obj.css({
                    'left': _x + 'px',
                    'top': _y + 'px'
                });
            }, 10);
        }

        function endMove() {
            clearInterval(float_timer);
        }

        $(document).ready(function () {
            $('.ag-header ul li:eq(0)').addClass('current-page');
            showVideoImage();

            $('#floatAdv').mouseenter(function () {
                endMove();
            });
            $('#floatAdv').mouseleave(function () {
                startMove();
            });
            $('#floatAdv span').click(function (e) {
                endMove();
                $('#floatAdv').attr('href', 'javascript:;').removeAttr('target').hide();
            });

            $(".ag-content-customer-ele").bind("mouseenter mouseleave", function (e) {
                var w = $(this).width();
                var h = $(this).height();
                var x = (e.pageX - this.offsetLeft - (w / 2)) * (w > h ? (h / w) : 1);
                var y = (e.pageY - this.offsetTop - (h / 2)) * (h > w ? (w / h) : 1);
                var direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;
                if (e.type == 'mouseenter') {
                    // 0:up - 1:right - 2:down - 3:left
                    if (direction == 0) {
                        $(this).find('div').css({
                            'top': '-470px',
                            'left': '0px'
                        });
                        $(this).find('div').animate({ 'top': 0 }, { queue: false, duration: 300 });
                    } else if (direction == 2) {
                        $(this).find('div').css({
                            'top': '470px',
                            'left': '0px'
                        });
                        $(this).find('div').animate({ 'top': 0 }, { queue: false, duration: 300 });
                    } else if (direction == 1) {
                        $(this).find('div').css({
                            'top': '0px',
                            'left': '167px'
                        });
                        $(this).find('div').animate({ 'left': 0 }, { queue: false, duration: 300 });
                    } else if (direction == 3) {
                        $(this).find('div').css({
                            'top': '0px',
                            'left': '-167px'
                        });
                        $(this).find('div').animate({ 'left': 0 }, { queue: false, duration: 300 });
                    }
                    $(this).find('span').css('color', '#fff');
                    $(this).find('img').animate({ 'left': $(this).find('img').attr('data-hover') }, { queue: false, duration: 200 });
                } else {
                    if (direction == 0) {
                        $(this).find('div').animate({ 'top': -470 }, { queue: false, duration: 300 });
                    } else if (direction == 2) {
                        $(this).find('div').animate({ 'top': 470 }, { queue: false, duration: 300 });
                    } else if (direction == 1) {
                        $(this).find('div').animate({ 'left': 167 }, { queue: false, duration: 300 });
                    } else if (direction == 3) {
                        $(this).find('div').animate({ 'left': -167 }, { queue: false, duration: 300 });
                    }
                    $(this).find('span').css('color', '#262626');
                    $(this).find('img').animate({ 'left': $(this).find('img').attr('data-normal') }, { queue: false, duration: 200 });
                }
            });

            $(".ag-content-customer-ele").bind('click', function (e) {

                var navIndex = $(e.target).parent().index();
                $('.ag-content-customer-ele-detail ul li').removeClass('current');
                $('.ag-content-customer-ele-detail ul li').eq(navIndex).addClass('current');

                $('.ag-content-customer-wrap').css('background-color', '#469acb');
                $('.ag-content-customer-ele').animate({ 'width': 0 }, 500);

                $('.ag-content-customer-ele-detail').animate({ 'width': 1002 }, {
                    duration: 500,
                    complete: function () {
                        $('.ag-content-customer-ele-detail ul li').eq(navIndex).click();
                    }
                });
            });

            $('.ag-content-customer-ele-detail-return').bind('click', function (e) {

                $('.ag-content-customer-wrap').css('background-color', '#f1f1f1');
                $('.ag-content-customer-ele-detail').css('overflow', 'hidden');
                $('.ag-content-customer-ele').animate({ 'width': 167 }, 500);
                $('.ag-content-customer-ele-detail').animate({ 'width': 0 }, 500);
                $('.ag-content-customer-ele-detail-display').hide();
            });

            $('.ag-content-customer-ele-detail ul li').bind('click', function () {

                $('.ag-content-customer-ele-detail ul li').removeClass('current');
                $(this).addClass('current');
                $('.ag-content-customer-ele-detail').css('overflow', 'visible');

                var disIndex = $(this).index();
                $('.ag-content-customer-ele-detail-display').hide();
                $('.ag-content-customer-ele-detail-display').eq(disIndex).show();

                // IE
                if ("ActiveXObject" in window) {
                    $('.ag-content-customer-ele-detail-display-left').css({
                        'left': '0px',
                        'opacity': '1'
                    });
                    $('.ag-content-customer-ele-detail-display-right').css({
                        'right': '-120px',
                        'opacity': '1'
                    });
                    $('.ag-content-customer-ele-detail-display-left').eq(disIndex).animate({ 'left': 120 }, { duration: 1000, easing: 'easeOutQuint' });
                    $('.ag-content-customer-ele-detail-display-right').eq(disIndex).animate({ 'right': 0 }, { duration: 1000, easing: 'easeOutQuint' });
                }
            });

            $('body').on('click', '.vjs-big-play-button', function () {
                $(this).hide();
                ctrlBar = true;
                $('.vjs-control-bar').removeClass('vjs-fade-out').addClass('vjs-fade-in');
            });

            $('.ag-content-app-wytgg-right').click(function () {
                if (!$('#ag-app-video').hasClass('vjs-playing')) {
                    $('.vjs-big-play-button').css('display', 'none');
                    ctrlBar = true;
                    $('.vjs-control-bar').removeClass('vjs-fade-out').addClass('vjs-fade-in');
                }
            });

            // IE7
            if (window.navigator.userAgent.indexOf('MSIE 7.0') >= 0) {
                $('#ag-app-video').css({
                    'width': '570px',
                    'height': '380px',
                    'position': 'relative'
                });
                $('#ag-app-video').find('div.vjs-poster').css({
                    'width': '570px',
                    'height': '380px',
                    'position': 'absolute',
                    'top': '0px'
                });
                $('.vjs-big-play-button').css({
                    'width': '100px',
                    'height': '100px',
                    'position': 'absolute',
                    'top': '140px',
                    'left': '235px'
                });
                $('.ag-content-app-wytgg-right').css('overflow', 'hidden');
            } else {
                $('.ag-content-app-wytgg-right').hover(
                function () {
                    if (ctrlBar) {
                        $('.vjs-control-bar').removeClass('vjs-fade-out').addClass('vjs-fade-in');
                    }
                },
                function () {
                    $('.vjs-control-bar').removeClass('vjs-fade-in').addClass('vjs-fade-out');
                }
            );
            }
        });

via:http://www.w2bc.com/Article/33306

在线预览    源码下载

爱编程-编程爱好者经验分享平台
版权所有 爱编程 © Copyright 2012. All Rights Reserved.
闽ICP备12017094号-3