简单的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-Type" content="text/html; charset=utf-8" />
<title>jQuery原始左右滚动幻灯片(方便扩展)代码效果</title>
<style>
*{margin:0px;padding:0px;list-style-type:none;}
.v_out{width:748px;margin:20px auto;overflow:hidden;}
.v_show{width:665px;overflow:hidden;position:relative;height:280px;float:left}
.v_cont{ width:6650px;position:absolute;left:0px;top:0px;}
.v_cont ul{float:left;text-align:center;line-height:50px;}
.v_cont ul li{width:665px;height:250px;background:#f8f8f8;float:left;margin-top:3px;}

/*---圆圈---*/
.v_out_p{position:relative;overflow:visible}
.circle{position:absolute;left: 40px;top: 290px;}
.circle li{width:120px;height:60px;float:left;margin-right:10px;background:#ccc}
.circle .circle-cur{background:#f00}

/*---切换---*/
.prev,.next{float:left;padding:105px 9px 0}
.prev a{ background:#f00;}
.prev .ico_1{ background:url(input_a.gif) no-repeat 0 -3757px;}

.next a{background:#f00 }
.next .ico_2{background:url(input_a.gif) no-repeat right -3757px;}
.prev,.prev a,.next,.next a{width:21px;height:28px; display:block}
</style>
</head>
<body>
<!--代码部分begin-->
<div class="v_out v_out_p">
    <div class="prev"><a href="javascript:void(0)"></a></div>

    <div class="v_show">
        <div class="v_cont">
            <ul>
                <li index="0" style="background:#f00">[第1个]</li>
                <li index="1" style="background:#ff0">[第2个]</li>
                <li index="2" style="background:#f0f">[第3个]</li>
                <li index="3" style="background:#999">[第4个]</li>
                <li index="4" style="background:#666">[第5个]</li>
            </ul>
        </div>
    </div>

    <div class="next"><a href="javascript:void(0)"></a></div>

    <ul class="circle">
        <li class="circle-cur">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
</div>

<script src="http://www.lanrenzhijia.com/ajaxjs/1.4.4/jquery-1.4.4.min.js"></script>
<script>
$(function() {
    $(".next a").click(function() {
        nextscroll()
    });

    function nextscroll() {
        var vcon = $(".v_cont ");
        var offset = ($(".v_cont li").width()) * -1;
        vcon.stop().animate({
            left: offset
        }, "slow", function() {
            var firstItem = $(".v_cont ul li").first();
            vcon.find("ul").append(firstItem);
            $(this).css("left", "0px");
            circle()
        })
    };

    function circle() {
        var currentItem = $(".v_cont ul li").first();
        var currentIndex = currentItem.attr("index");
        $(".circle li").removeClass("circle-cur");
        $(".circle li").eq(currentIndex).addClass("circle-cur")
    }
    $(".prev a").click(function() {
        var vcon = $(".v_cont ");
        var offset = ($(".v_cont li").width() * -1);
        var lastItem = $(".v_cont ul li").last();
        vcon.find("ul").prepend(lastItem);
        vcon.css("left", offset);
        vcon.animate({
            left: "0px"
        }, "slow", function() {
            circle()
        })
    });
    var animateEnd = 1;
    $(".circle li").click(function() {
        if (animateEnd == 0) {
            return
        }
        $(this).addClass("circle-cur").siblings().removeClass("circle-cur");
        var nextindex = $(this).index();
        var currentindex = $(".v_cont li").first().attr("index");
        var curr = $(".v_cont li").first().clone();
        if (nextindex > currentindex) {
            for (var i = 0; i < nextindex - currentindex; i++) {
                var firstItem = $(".v_cont li").first();
                $(".v_cont ul").append(firstItem)
            }
            $(".v_cont ul").prepend(curr);
            var offset = ($(".v_cont li").width()) * -1;
            if (animateEnd == 1) {
                animateEnd = 0;
                $(".v_cont").stop().animate({
                    left: offset
                }, "slow", function() {
                    $(".v_cont ul li").first().remove();
                    $(".v_cont").css("left", "0px");
                    animateEnd = 1
                })
            }
        } else {
            var curt = $(".v_cont li").last().clone();
            for (var i = 0; i < currentindex - nextindex; i++) {
                var lastItem = $(".v_cont li").last();
                $(".v_cont ul").prepend(lastItem)
            }
            $(".v_cont ul").append(curt);
            var offset = ($(".v_cont li").width()) * -1;
            $(".v_cont").css("left", offset);
            if (animateEnd == 1) {
                animateEnd = 0;
                $(".v_cont").stop().animate({
                    left: "0px"
                }, "slow", function() {
                    $(".v_cont ul li").last().remove();
                    animateEnd = 1
                })
            }
        }
    })
})
</script>
<!--代码部分end-->
</body>
</html>

摘自:http://demo.lanrenzhijia.com/2015/banner0325/

demo :http://demo.lanrenzhijia.com/2015/banner0325/

时间: 2024-10-28 19:05:03

简单的js焦点图切换效果的相关文章

一款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-

极简的js点击组图切换效果

程序员进行前端开发时,时常要用到点击切换组图的动画效果,网上确实有很多此类插件,但是都很麻烦,乌糟糟无数代码,有那个看的时间,自己都能把功能写完了.在这里我提供一段极简的js点击组图切换效果代码,包含一个html文件,一个css文件,一个js文件,一个jquery.js文件,以及一张图片. index.html <html><head><title>js点击组图左右滑动</title><meta http-equiv="Content-Typ

vue组件开发练习--焦点图切换

1.前言 vue用了有一段时间了,开发的后台管理系统也趋于完善,现在时间比较算是有点空闲吧!这个空闲时间我在研究vue的另外的一些玩法,比如组件,插件等.今天,我就分享一个组件的练手项目--焦点图切换组件.这个项目是我用于vue组件练习的一个项目,当然了,代码也会提交到github(ec-slider),也会维护.我也想我开发的东西好用一点!现在,就是建议有需要的伙伴,可以来玩下这个项目,当练习的作用!另外,如果大家有什么建议,欢迎指点! 建议1.下面的步骤,最好在自己本地上跑起来,根据文章的步

自制jQuery焦点图切换简易插件

首页经常是需要一个焦点图切换的效果,最近做的项目也正好需要,所以在网上搜索,后面查到了一个半成品的插件,这里我自己修改了一下. js文件夹下面有两个文件夹jquery.jslide.js与jquery.jslides.js,前面一个是我改写的,第二个是原作者的文件.下图是效果图: 一.静态效果 <div class="slide_wrap"> <ul id="slides2" class="slide"> <li s

用html+css+js实现选项卡切换效果

文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安家东三环 北京首现零首付楼盘 53万购东5环50平 京楼盘直降5000 中信府 公园楼王现房 家居: 40平出租屋大改造 美少女的混搭小窝 经典清新简欧爱家 90平老房焕发新生 新中式的酷色温情 66平撞色活泼家居

基于jQuery全屏焦点图切换插件responsiveslides

基于jQuery全屏焦点图切换插件responsiveslides是一款带左右箭头,索引按钮的自动轮播切换特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <script type="text/javascript"> $(function () { // Slideshow $("#slider").responsiveSlides({ auto: true, pager: false, nav: true, speed:

一款常用的漂亮的JS图片滑动切换效果

<HTML> <HEAD> <TITLE>一款常用的漂亮的JS图片滑动切换效果丨石家庄展柜制作|</TITLE> <style> BODY { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px } UL { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PAD

收藏一个漂亮的Flash焦点图切换

网上闲逛的时候发现一个Flash焦点图效果,跟喜欢,然后就下载回来,收集在这里,以便以后方便取用.这个Flash使用方法也是相当简单的,如果你喜欢,也可以从这里查看源代码下载. 效果演示泌阳县马奇建材 Flash 焦点图效果 使用方法 在页面上加入这段HTML代码即可. view source print? 1 <embed width="522" height="245" flashvars="image=../images/1_min.jpg|

Vue.js实现tab切换效果

利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了vue后,开始要写出一些简单的特效. 1.2 实现思路是点击上方的标题,下方的内容随之发生改变,上方和下方用的是两个块,是兄弟节点,所以需要点击tab标题和下方内容一一对应,基予两个模块若下标相同是一个内容实现的. 1.3 tab切换第一步先要把HTML写好,这个第一步很关键,主要分为两块结构 <div id="app"> &l