jquery 焦点图

/*   

 用法:$("#focus").Jfocus({ path:"top" //path表示图片滚动方向,默认向上滚动 ,可设置left滚动 time:"3000" //图片滚动时间,默认3000毫秒 auto:"true" //是否自动滚动 number:"true" //是否显示按钮数字 bgdiv:"true" //是否显示背景标题 });

 整体focus骨架不变,依然是常用的结构如下: <div id="focus"> <ul> <li><a href="#"><img src="图片1" alt /></a></li> <li><a href="#"><img src="图片2" alt /></a></li> <li><a href="#"><img src="图片3" alt /></a></li> <li><a href="#"><img src="图片4" alt /></a></li> </ul> </div>

 整体样式不变,可以更改 id 名称,样式属性值。但不能更改按钮样式名 btn 。更改焦点图显示大小,请修改对应样式值 #focus {width:490px; height:170px; overflow:hidden; position:relative;} #focus ul {height:380px; position:absolute;} #focus ul li {float:left; width:490px; height:170px;} #focus ul li img { width:490px; height:170px;} #focus .btn {position:absolute; width:490px; height:24px; left:0; bottom:5px; text-align:right} #focus .btn span {display:inline-block; _display:inline; _zoom:1; width:20px; height:20px; line-height:20px;  border-radius:20px;margin-right:15px; background:#f90; color:#fff;  text-align:center; font-size:14px; font-family:"Microsoft YaHei",SimHei; cursor:pointer;font-weight:bold; } #focus .btn span.on {background:#fff !important; color:#f80;}

 */

(function ($) {    $.fn.Jfocus = function (options) {        var defaults = {path: "top", time: "3000", auto: "true", number: "false", bgdiv: "false"}; //定义图片默认滚动方向        var opts = $.extend({}, defaults, options);        var $this = $(this);        var $objul = $this.find("ul");

        var sWidth = $this.width(); //获取焦点图的宽度        var sHeight = $this.height(); //获取焦点图的高度        var $objli = $objul.find("li");        var len = $objli.length; //获取焦点图个数        var index = 0;        var picTimer;        var timer;

        //以下代码添加数字按钮        if (len != 1) {            var btnhtml = "<div class=‘btn‘>";            if (opts.bgdiv == "true") {                var btnbghtml = "<div class=‘btnbg‘><strong></strong></div>"                $this.append(btnbghtml);                showTit(0);            }            if (opts.number == "true") {                for (var i = 0; i < len; i++) {                    i == 0 ? btnhtml += "<span class=‘on‘>" + 1 + "</span>" : btnhtml += "<span>" + (i + 1) + "</span>";                }            }            else {                for (var i = 0; i < len; i++) {                    i == 0 ? btnhtml += "<span class=‘on‘></span>" : btnhtml += "<span></span>";                }            }            btnhtml += "</div>";            $this.append(btnhtml);        }        var $objspan = $this.find("span");

        //判断图片滚动方向        if (opts.path == "left") {            $objul.css("width", sWidth * (len + 1));  //如果左右滚动,计算出外围ul元素的宽度        }        else {            $objli.css("float", "none"); //如果上下滚动,清除li的左浮动        }

        //为数字按钮添加鼠标滑入事件,以显示相应的内容        $objspan.hover(function () {            var that = this;            timer = setTimeout(function () {                index = $objspan.index(that);                showTit(index);                showPics(index);            }, 200);        }, function () {            clearTimeout(timer);        });

        //鼠标滑上焦点图时停止自动播放,滑出时开始自动播放        $this.hover(function () {            clearInterval(picTimer);        }, function () {            interval();        });

        if (opts.auto = "true") {            function interval() {                picTimer = setInterval(function () {                    if (index == len) { //如果索引值等于li元素个数,说明最后一张图播放完毕,接下来要显示第一张图,即调用showFirPic(),然后将索引值清零                        showFirPic();                        index = 0;                    } else { //如果索引值不等于li元素个数,按普通状态切换,调用showPics()                        showPics(index);                        showTit(index);                    }                    index++;                }, opts.time); //time自动播放的间隔            }

            interval();        }

        function showTit(index) { //显示标题            $tit = $objli.find("img").eq(index).attr("title");            $(".btnbg").find("strong").text($tit);        }

        //显示图片函数,根据接收的index值显示相应的内容        function showPics(index) {            if (opts.path == "left") {                var nowLeft = -index * sWidth; //根据index值计算ul元素的left值                $objul.stop(true, false).animate({"left": nowLeft}, 500); //通过animate()调整ul元素滚动到计算出的position                $objspan.removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果            } else {                var nowTop = -index * sHeight;                $objul.stop(true, false).animate({"top": nowTop}, 500);                $objspan.removeClass("on").eq(index).addClass("on");            }        }

        function showFirPic() { //最后一张图自动切换到第一张图时专用            $objul.append($objli.first().clone());            if (opts.path == "left") {                var nowLeft = -len * sWidth; //通过li元素个数计算ul元素的left值,也就是最后一个li元素的右边                $objul.stop(true, false).animate({"left": nowLeft}, 500, function () {                    //在动画结束后把ul元素重新定位到起点,然后删除最后一个复制过去的元素                    showTit(0);                    $objul.css("left", "0");                    $objli.last().next().remove();                });            } else {                var nowTop = -len * sHeight; //top值                $objul.stop(true, false).animate({"top": nowTop}, 500, function () {                    showTit(0);                    $objul.css("top", "0");                    $objli.last().next().remove();                });            }            $objspan.removeClass("on").eq(0).addClass("on"); //为第一个按钮添加选中的效果        }    };})(jQuery);
时间: 2024-10-09 06:31:02

jquery 焦点图的相关文章

正益无线首页jQuery焦点图

分享一款正益无线首页jQuery焦点图,带索引按钮,自动轮播切换特效焦点图代码. 在线预览   源码下载 实现的代码. html代码: <div id="slideBox" class="slideBox"> <div class="hd"> <ul><li></li><li></li><li></li></ul> </d

八屏切换jquery焦点图

HTML代码及调用: <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script> <link rel="stylesheet" href="css/SYTLE.css" /> <div class="foucebox"> <div class="bd"> <

带网上开户表单jQuery焦点图

带网上开户表单jQuery焦点图是一款适合证券公司的带表单的图片左右滚动切换特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="index-banner"> <div class="head-login"> <div class="login-right"> <div class="fan0508-hdnav"> <ul&g

易迅多格jquery焦点图

易迅多格jquery焦点图是一款易迅首页多格上下滚动jquery焦点图效果,带数字索引按钮,多图上下滚动,焦点幻灯.

基于jQuery带标题的图片3D切换焦点图

今天给大家分享一款基于jQuery带标题的图片3D切换焦点图.这款焦点图适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 在线预览   源码下载 实现的代码. html代码: <div id="wowslider-container"> <div class="ws_images"> <ul> <li><a href="#"> &

一款基于jQuery的支持鼠标拖拽滑动焦点图

记得之前我们分享过一款jQuery全屏广告图片焦点图,图片切换效果还不错.今天我们要分享另外一款jQuery焦点图插件,它的特点是支持鼠标拖拽滑动,所以在移动设备上使用更加方便,你只要用手指滑动屏幕即可切换图片. 在线预览   源码下载 实现的代码. html代码: <div class="main_visual"> <div class="flicking_con"> <a class="on" href=&quo

基于jquery左侧带选项卡切换的焦点图

今天给大家分享一款基于jquery左侧带选项卡切换的焦点图.这款焦点图左侧有短标题,单击切换并显示长标题.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="film_focus"> <div class="film_focus_desc"> <h3> 标题1</h3> <ul class="film_focus_nav"> <li clas

jquery可播放视频的焦点图

jquery可播放视频的焦点图,设计简洁优雅,支持左右翻页,支持暂停焦点图,焦点图左上角的标题可替换.视频支持全屏播放和静音.JS代码 源于:http://www.huiyi8.com/js/jiaodiantu/

基于jQuery仿Flash横向切换焦点图

给各网友分享一款基于jQuery仿Flash横向切换焦点图.利用Flash可以制作很多漂亮的图片相册应用,今天我们要用jQuery来实现这样的效果.它是一款仿Flash的横向图片切换焦点图插件,可以自动切换图片,也可以点击导航按钮来切换至指定的图片.该jQuery焦点图使用非常简单,而且切换效果也相当流畅.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="slide-holder"> <div id="slide-runn