当前位置:  编程技术>jquery

jquery 图片横向滚动的插件代码

    来源: 互联网  发布时间:2014-09-03

    本文导语:  本节内容: jquery实现图片的横向滚动 本节分享的这段代码,有如下功能: 图片横向左右滚动、自动滚动,可以自定义显示图片个数和滚动时间。 1,jquery插件代码   代码示例: (function($) {   $.fn.myScroll = function(options)   { ...

本节内容:
jquery实现图片的横向滚动

本节分享的这段代码,有如下功能:
图片横向左右滚动、自动滚动,可以自定义显示图片个数和滚动时间。

1,jquery插件代码
 

代码示例:

(function($)
{
  $.fn.myScroll = function(options)
  {
    //默认配置
    var defaults = {
      auto: [false, 3000],
      //是否自动滚动,第二个参数是自动滚动是切换的间隔时间
      visible: 4,
      //可显示的数量
      speed: 1000,
      //动画时间,可选slow,fast,数值类
      scroll: 1 //每次切换的个数,此数小于等于visible值
    };

    var opts = $.extend(
    {}, defaults, options);
    opts.scroll = opts.scroll > opts.visible ? opts.visible : opts.scroll;

    this.each(function(i)
    { // www.
      var prevBtn = $(this).find("p.myPrevBtn"),
          nextBtn = $(this).find("p.myNextBtn"),
          block = $(this).find("div.myBlock"),
          innerBlock = block.find("ul"),
          list = block.find('ul>li'),
          listNum = list.size(),
          listWidth = list.width(),
          blockWidth = listWidth * opts.visible,
          ntervalId;

      //设置宽度样式
    $(this).width(blockWidth + prevBtn.width() + nextBtn.width());
      block.width(blockWidth).find("ul").width(listWidth * listNum);

      //获取已滚动个数
      function getSnum()
      {
        return (parseInt(innerBlock.css("margin-left")) * -1) / listWidth;
      }

      //获取滚动的距离
      function getMove(c)
      {
        return c >= opts.scroll ? opts.scroll * listWidth : c * listWidth;
      }

      //单击向前按钮
      prevBtn.click(function()
      {
        var snum = getSnum(),
            c = listNum - snum - opts.visible,
            m = getMove(c);

        if (listNum - snum > opts.visible)
        {
          innerBlock.animate(
          {
            "margin-left": "-=" + m
          }, opts.speed);
        }
      });

      //单击向后按钮
      nextBtn.click(function()
      {
        var snum = getSnum(),
            m = getMove(snum);

        if (snum > 0)
        {
          innerBlock.animate(
          {
            "margin-left": "+=" + m
          }, opts.speed);
        }
      });

      //如果自动滚动
      if (opts.auto[0])
      {

        $(this).width(blockWidth);
        prevBtn.hide();
        nextBtn.hide();

        function auto()
        {
          var snum = getSnum(),
              m = getMove(listNum - snum - opts.visible);

          if (listNum - snum > opts.visible)
          {
            innerBlock.animate(
            {
              "margin-left": "-=" + m
            }, opts.speed);
          }
          else
          {
            innerBlock.css("margin-left", 0).find('li').slice(0, listNum - opts.visible).appendTo(innerBlock);
          }
        }

        //当鼠标经过滚动区域停止滚动
    block.hover(function()
        {
          clearInterval(intervalId);
        }, function()
        {
          intervalId = setInterval(auto, opts.auto[1] + Math.abs(opts.speed - opts.auto[1]) + 100);
        }).trigger('mouseleave');

      }

    });

  };

})(jQuery);

2,html结构
 

代码示例:
/*--------------------
html结构代码
li中的结构可以根据需要修改
---------------------------*/






3,css代码
 

代码示例:
*{ margin:0; padding:0}
/*-插件样式*/
.myScroll {
 width:100%;
 height:210px;
 overflow:hidden;
 zoom:1;
}
.myScroll p {
 width:22px;
 height:210px;
 background-image:url(/blog_article/icon.gif);
 background-repeat:no-repeat;
 cursor:pointer
}
.myPrevBtn {
 background-position:left center;
 float:left;
 display:inline
}
.myNextBtn {
 background-position:right center;
 float:right;
 display:inline
}
.myBlock {
 overflow:hidden;
 float:left;
 display:inline
}
.myBlock ul {
 width:100%;
 overflow:hidden;
 zoom:1;
 list-style:none
}
.myBlock ul li {
 width:200px;
 float:left;
 padding:10px 0;
 display:inline
}
.myBlock ul li:hover {
 background-color:#FFC
}
.myBlock dl {
 width:160px;
 margin:0 auto;
 list-style:none;
}
.myBlock dl dt {
 width:160px;
 height:160px;
 overflow:hidden;
 background-color:#FFF
}
.myBlock dl dt img {
 width:160px;
}
.myBlock dl dd {
 line-height:18px;
 list-style:none;
 text-align:center
}
.myBlock dl dd a {
 display:inline-block;
 padding:3px 0;
 width:100%;
}
.myClone {
 overflow:hidden;
 zoom:1
}
.myClone ul {
 float:left;
 display:inline
}

4,插件调用示例
 

代码示例:
//手动滚动
$("#product0").myScroll({
         visible:3,
  scroll:2,
  speed:1000
  });
//自动滚动
$("#product").myScroll({
               visible:4,
               scroll:3,
               auto:[true,2000],
               speed:1000
});

    
 
 

您可能感兴趣的文章:

  • jquery scroll()区分横向纵向滚动条的方法
  • JQuery实现绚丽的横向下拉菜单
  • jquery插件jquery倒计时插件分享
  • jQuery图片轮换插件 jQuery Dynamic Slideshow
  • jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
  • jQuery 内容滑动插件 Basic jQuery Slider
  • jQuery圆角插件 jQuery Corners
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery日历插件 jQuery Week Calendar
  • jQuery实现CSS3动画效果的插件 jQuery Transit
  • jQuery消息提醒插件 jQuery Notty
  • jQuery无限幻灯片插件 jQuery Carousel
  • jQuery多值输入插件 jQuery Manifest
  • jQuery向导插件 Jquery Wizard Plugin
  • jQuery相册插件 jQuery.popeye
  • jQuery的中文日历插件 jQuery.datePickerCn
  • jQuery的气泡提示插件 jquery.ns_bub.js
  • jQuery对话框插件 jquery.modalbox
  • jQuery的OpenSocial插件 OpenSocial jQuery
  • jQuery链接插件 jquery.biggerlink
  • 在线客服jQuery 插件 jQuery.onServ
  • jQuery日历插件 jQuery Verbose Calendar
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通过javascript库JQuery实现页面跳转功能代码
  • jquery代码-如何使用jQuery来解析xml
  • jQuery概述,代码举例及最新版下载
  • jquery代码-如何使用jQuery来检测右键和左键的鼠标单击两种情况
  • jQuery 禁用右键菜单的简单代码
  • jQuery页面加载完毕再执行代码多种方法
  • jquery的父子兄弟节点查找示例代码
  • JQuery实现元素屏幕居中显示的代码
  • jQuery 代码模块化 TerrificJS
  • 在myeclipse中如何加入jquery代码提示功能
  • jquery弹窗代码示例
  • Jquery在指定DIV加载HTML示例代码
  • jquery遍历checkbox代码与说明
  • JQUERY 设置SELECT选中项代码
  • jQuery获得内容和属性示例代码
  • jQuery的each终止或跳过示例代码
  • jquery代码-如何使用多个属性来进行过滤
  • 简单的代码实现jquery定时器
  • jquery捕捉回车事件的代码
  • jQuery实现回车键(Enter)切换文本框焦点的代码实例
  • jquery实现图片路径不存在时进行替换的代码
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery鼠标动画插件 jquery-ahover
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery UI组件 jQuery UI
  • jQuery分页插件 Pagination jQuery Plugin
  • jQuery的CSV插件 jQuery CSV
  • jQuery气泡提示插件 jquery-rollover-tooltip
  • jQuery对话框 jQuery Modal Dialog
  • jQuery 插件 jQuery Ripples
  • 精简版的jQuery jQuery.ish


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3