js实现图片左右滚动效果


Posted in Javascript onFebruary 27, 2017

需求:页面显示教师信息列表,列表中每一条数据显示图片滚动插件,每张图片的长宽及长宽比例各不相同。

前提条件:美工把静态页面写好

HTML代码:

@using Models;
@{
 List<cms_content> teacherList = ViewData["teacherList"] as List<cms_content>; //春雨树频道
 PagerModel pager = ViewData["pager"] as PagerModel;
}
<div class="teacherteam_box">
 <h1>教师团队</h1>
 @foreach (cms_content teacher in teacherList)
 {
  <div class="teacher_box">
   <div class="teacher_img fl">
    <img src="~/Theme/images/t1.png" />
   </div>
   <div class="teacher_infor fl">
    <h2>@teacher.title</h2>
    <p>
     @teacher.description
    </p>
    <div class="products_box">
     <div class="products_pre">
      <img src="~/Theme/images/left.png" />
     </div>
     <div class="products_next">
      <img src="~/Theme/images/right.png" />
     </div>
     <div class="div-imgbox">
      <ul>
       @foreach (Tuple<string, string> item in teacher.imgList)
       {
        <li>
         <img alt="@item.Item1" src="@item.Item2" />
        </li>
       }
      </ul>
     </div>
    </div>
   </div>
   <div class="clear"></div>
  </div>
 }
 <div class="page_box">
  <span>共@(pager.totalRows)条信息</span>
  <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="teacherPage(this,1)">首页</a>
  <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="teacherPage(this,2)">上一页</a>
  <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><i>@pager.page</i><b>/@pager.pageCount</b>页</a>
  <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="teacherPage(this,3)">下一页</a>
  <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="teacherPage(this,4)">尾页</a>
 </div>
</div>

JS代码:

<script type="text/javascript">
 var _lock = false;
 $(function () {
  teacherPage(null, null);
 });//end $
 //教师团队
 //flag=1首页,2上一页,3下一页,4尾页
 function teacherPage(obj, flag) {
  var totalPage = 1;
  var page = 1;
  if (obj) {
   page = parseInt($(obj).parent().find("i").text());
   totalPage = parseInt($(obj).parent().find("b").text().replace("/", ""));
  }
  if (flag == 1) { page = 1; }
  if (flag == 2 && page > 1) { page = page - 1; }
  if (flag == 3 && page < totalPage) { page = page + 1; }
  if (flag == 4) { page = totalPage; }
  $.ajax({
   type: "GET",
   url: "@Url.Content("~/")home/teachers?t=" + new Date().valueOf(),
   data: { page: page },
   success: function (data) {
    $('#teachers').html(data);
    sliderImg();
   }
  });
 }
 //滚动图片
 function sliderImg() {
  $(".products_next").click(function () {
   if (_lock) return;
   _lock = true;
   var ul = $(this).parent().find("ul");
   if (!canSlider(ul)) { _lock = false; return; }
   var liFirst = ul.find("li:first");
   var margin = liFirst.width() + 15;
   var speed = margin * 3;
   liFirst.animate({
    marginLeft: 0 - margin
   }, speed);
   setTimeout(function () {
    liFirst.remove();
    ul.append("<li>" + liFirst.html() + "</li>");
    _lock = false;
   }, speed);
  });
  $(".products_pre").click(function () {
   if (_lock) return;
   _lock = true;
   var ul = $(this).parent().find("ul");
   if (!canSlider(ul)) { _lock = false; return; }
   var liLast = ul.find("li:last");
   var margin = liLast.width() + 15;
   var speed = margin * 3;
   ul.prepend("<li style='margin-left:-" + margin + "px; '>" + liLast.html() + "</li>");
   var liFirst = ul.find("li:first");
   liFirst.animate({
    marginLeft: 0
   }, speed);
   setTimeout(function () {
    liLast.remove();
    _lock = false;
   }, speed);
  });
 }
 //判断图片是否可以滚动
 function canSlider(ul) {
  var width = 0;
  ul.find("li").each(function () {
   var li = $(this);
   width = width + li.width() + 15;
  });
  if (width <= 710) {
   return false;
  }
  return true;
 }
</script>

效果图:

js实现图片左右滚动效果

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
asp批量修改记录的代码
Jun 25 Javascript
Javascript 函数中的参数使用分析
Mar 27 Javascript
js中settimeout方法加参数
Feb 28 Javascript
基于Javascript实现文件实时加载进度的方法
Oct 12 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
微信小程序动态的加载数据实例代码
Apr 14 Javascript
layui之select的option叠加问题的解决方法
Mar 08 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
May 08 Javascript
JS实现获取当前所在周的周六、周日示例分析
May 11 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
Jun 17 Javascript
如何基于JavaScript判断图片是否加载完成
Dec 28 Javascript
jquery横向纵向鼠标滚轮全屏切换
Feb 27 #Javascript
原生js实现旋转木马轮播图效果
Feb 27 #Javascript
jQuery实现弹窗居中效果类似alert()
Feb 27 #Javascript
js实现简单的手风琴效果
Feb 27 #Javascript
jquery实现弹窗功能(窗口居中显示)
Feb 27 #Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
Feb 27 #Javascript
jQuery实现简单弹窗遮罩效果
Feb 27 #Javascript
You might like
PHPlet在Windows下的安装
2006/10/09 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
vue2.0与bootstrap3实现列表分页效果
2017/11/28 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
详解Vite的新体验
2021/02/22 Javascript
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
Python随机数函数代码实例解析
2020/02/09 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
Django实现内容缓存实例方法
2020/06/30 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
金融行业职业生涯规划范文
2014/01/17 职场文书
师德学习感言
2014/01/31 职场文书
党员政治学习材料
2014/05/14 职场文书
合伙经营协议书范本
2014/09/13 职场文书
中学生自我评价范文
2015/03/03 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
我收到了德劲DE1107
2022/04/05 无线电
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android