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 相关文章推荐
js实现的网页颜色代码表全集
Jul 17 Javascript
Mootools 1.2教程(21)——类(二)
Sep 15 Javascript
js Dialog 去掉右上角的X关闭功能
Apr 23 Javascript
js下将金额数字每三位一逗号分隔
Feb 19 Javascript
省市选择的简单实现(基于zepto.js)
Jun 21 Javascript
详解Vue组件之间的数据通信实例
Jun 17 Javascript
使用3D引擎threeJS实现星空粒子移动效果
Sep 13 Javascript
swiper 解决动态加载数据滑动失效的问题
Feb 26 Javascript
javascript实现的时间格式加8小时功能示例
Jun 13 Javascript
微信小程序音乐播放器开发
Nov 20 Javascript
Vue组件通信$attrs、$listeners实现原理解析
Sep 03 Javascript
vue内置组件keep-alive事件动态缓存实例
Oct 30 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
php实现简单洗牌算法
2013/06/18 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
使用 js+正则表达式为关键词添加链接
2014/11/11 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
python根据距离和时长计算配速示例
2014/02/16 Python
python中的错误处理
2016/04/10 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
python实现各进制转换的总结大全
2017/06/18 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
python中树与树的表示知识点总结
2019/09/14 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
详细分析Python垃圾回收机制
2020/07/01 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
初三新学期计划书
2014/05/03 职场文书
高中体育课教学反思
2016/02/16 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏