zoukankan      html  css  js  c++  java
  • [fn]焦点图JQ插件版

    自己写的焦点图片的插件,使用方法简单说明一下

    index.html页面具体结构如下

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>百合网专题</title>
     6 <link href="css/qxjt.css" rel="stylesheet" type="text/css" />
     7 <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
     8 <script type="text/javascript" src="js/foursFn.js"></script>
     9 </head>
    10 
    11 <body>
    12     <div class="fours">
    13         <div class="srcollImg">
    14             <div class="srcollBox" id="srcollBox">
    15                 <ul>
    16                     <li><img src="images/fours_1.jpg" alt="" /></li>
    17                     <li style="display:none;"><img src="images/fours_2.jpg" alt="" /></li>
    18                     <li style="display:none;"><img src="images/fours_3.jpg" alt="" /></li>
    19                     <li style="display:none;"><img src="images/fours_4.jpg" alt="" /></li>
    20                     <li style="display:none;"><img src="images/fours_5.jpg" alt="" /></li>
    21                 </ul>
    22                 <div class="state">
    23                     <p>1</p>
    24                     <p>2</p>
    25                     <p>3</p>
    26                     <p>4</p>
    27                     <p>5</p>
    28                 </div>
    29                 <ol>
    30                     <!-- <li></li> -->
    31                 </ol>
    32                 <span class="prev"></span>
    33                 <span class="next"></span>
    34             </div>
    35         </div>
    36     </div>
    37     </body>
    38 </html>

    qxjt.css如下

     1 *{ padding:0; margin:0;} 
     2 body{ font:400 15px/21px "Microsoft YaHei"; color:#2a363c; background:#000;}
     3 fieldset,img { border:0; } 
     4 ol,ul { list-style:none; } 
     5 caption,th { text-align:left; } 
     6 .fixfloat:after{content:".";display:block;clear:both;visibility:hidden;height:0;}
     7 .fixfloat{zoom:1}
     8 
     9 .fours{height:424px;}
    10 .fours .srcollImg{ width:846px; height:307px; padding-top:20px; margin:100px auto; background:url(../images/jd_bg.gif) no-repeat;}
    11 .fours .srcollImg .srcollBox{position:relative; width:805px; height:286px; overflow:hidden; margin:0 auto;}
    12 .fours .srcollImg .srcollBox .prev{position:absolute; top:126px; left:0; width:22px; height:35px; background:url(../images/prev.png); cursor:pointer; z-index:9;}
    13 .fours .srcollImg .srcollBox .next{position:absolute; top:126px; right:0; width:22px; height:35px; background:url(../images/next.png); cursor:pointer; z-index:9;}
    14 .fours .srcollImg .srcollBox ol{position:absolute; bottom:10px; left:22px; z-index:9;}
    15 .fours .srcollImg .srcollBox ol li{float:left; width:21px; height:21px; margin-right:5px; overflow:hidden; background:#fff; text-align:center; -moz-border-radius:11px; -webkit-border-radius:11px; border-radius:11px;}
    16 .fours .srcollImg .srcollBox ol li.on{background:#7f7c7c;}
    17 .fours .srcollImg .srcollBox ul{position:absolute; top:0; left:0; z-index:1;}
    18 .fours .srcollImg .srcollBox .state{position:absolute; bottom:0; left:0; width:100%; height:40px; background:rgba(0,0,0,.7); z-index:5;}
    19 .fours .srcollImg .srcollBox .state p{padding:0 15px; color:#fff; line-height:40px; text-align:right;}

    首先引入jq的文件

    然后引入插件文件foursFn.js

     1 $.fn.foursFn = function (opt) {
     2     opt = $.extend({
     3         isTab: true, 
     4         isTabNum: false, 
     5         tabClassName: 'on',
     6         isState: true, 
     7         stateClassName: '.state',
     8         isPage: true, 
     9         oPrev: '.prev',
    10         oNext: '.next',
    11         timer: 1500
    12     }, opt);
    13 
    14     return this.each(function() {
    15         var $this = $(this);
    16         var iFousId = 0;
    17         var oS_con =$this.find('ul li');
    18         var oS_prev = $this.find(opt.oPrev);
    19         var oS_next = $this.find(opt.oNext);
    20         var oS_nav = $this.find('ol');
    21         var oS_state = $this.find(opt.stateClassName);
    22         var moonTime = setInterval(InterTime, opt.timer);
    23 
    24         if (opt.isTab && oS_nav.size()>0) {
    25             oS_nav.empty();
    26             for (var i = 0; i < oS_con.size(); i++) {
    27                 opt.isTabNum ? oS_nav.append('<li>'+ (i+1) +'</li>') : oS_nav.append('<li></li>');
    28             };
    29 
    30             oS_nav.find('li').eq(0).addClass('on');
    31             oS_nav.bind('click', function(ev) {
    32                 var ev = ev || window.event;
    33                 var target = ev.target || ev.srcElement;
    34                 if (target.nodeName.toLowerCase() == "li") {
    35                     iFousId = oS_nav.find('li').index(target);
    36                     InterTab();
    37                 }
    38             });
    39         }
    40         if(opt.isPage && oS_prev.size()>0 && oS_next.size()>0){
    41             oS_prev.bind('click', function() {
    42                 iFousId--;
    43                 if(iFousId < 0){
    44                     iFousId = oS_con.size()-1;
    45                 }
    46                 InterTab();
    47             });
    48             oS_prev.bind('mouseover', function() {
    49                 clearInterval(moonTime);
    50             });
    51             oS_prev.bind('mouseout', function() {
    52                 moonTime = setInterval(InterTime, opt.timer);
    53             });
    54 
    55             oS_next.bind('click', function() {
    56                 iFousId++;
    57                 if (iFousId >= oS_con.size()) {
    58                     iFousId = 0;
    59                 } 
    60                 InterTab();
    61             });
    62             oS_next.bind('mouseover', function() {
    63                 clearInterval(moonTime);
    64             });
    65             oS_next.bind('mouseout', function() {
    66                 moonTime = setInterval(InterTime, opt.timer);
    67             });
    68         }
    69         function InterTab() {
    70             opt.isTab ? oS_nav.find('li').eq(iFousId).addClass('on').siblings().removeClass('on') : '';
    71             oS_con.eq(iFousId).fadeIn('slow').siblings().css('display', 'none');
    72             opt.isState ? oS_state.children('p').eq(iFousId).fadeIn('slow').siblings().css('display', 'none') : '';
    73         } 
    74         function InterTime () {
    75             InterTab();
    76             iFousId++;
    77             if (iFousId >= oS_con.size()) {
    78                 iFousId = 0;
    79             } 
    80         }
    81     });
    82 }

    到这里准备工作已ok,了

    接下来就是我们调用插件的具体使用

     1 jQuery(document).ready(function($) {
     2     // 焦点图
     3     $('#srcollBox').foursFn({
     4         isTab: false,
     5         isTabNum: false,
     6         tabClassName: 'on', 
     7         isState: true,
     8         stateClassName: '.state',
     9         isPage: true,
    10         oPrev: '.prev', 
    11         oNext: '.next', 
    12         timer: 1500 
    13     });            
    14 });

    插件foursFn里面有几项参数,我们可以更具实际情况来选择设置

    • isTab                           是否有tab
    • isTabNum                    tab里是否显示数字
    • tabClassName              当前tab的样式
    • isState                        是否有图片说明
    • stateClassName           图片说明的样式
    • isPage                         是否有上下页
    • oPrev                          上一页的样式
    • oNext                         下一页的样式
    • timer                          图片切换时间

    假如不用上下页,我们就需要把isPage设置为flase,并要在html页面里把相应的标签删除掉。

    只要保证大体结构变,插件就可以正常运行!

  • 相关阅读:
    hdu5360 Hiking(水题)
    hdu5348 MZL's endless loop(欧拉回路)
    hdu5351 MZL's Border(规律题,java)
    hdu5347 MZL's chemistry(打表)
    hdu5344 MZL's xor(水题)
    hdu5338 ZZX and Permutations(贪心、线段树)
    hdu 5325 Crazy Bobo (树形dp)
    hdu5323 Solve this interesting problem(爆搜)
    hdu5322 Hope(dp)
    Lightoj1009 Back to Underworld(带权并查集)
  • 原文地址:https://www.cnblogs.com/niubenbit/p/4022365.html
Copyright © 2011-2022 走看看