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 相关文章推荐
从数据结构的角度分析 for each in 比 for in 快的多
Jul 07 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
canvas实现钟表效果
Feb 13 Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 Javascript
Vue和Bootstrap的整合思路详解
Jun 30 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
vue实现点击关注后及时更新列表功能
Jun 26 Javascript
vue自定v-model实现表单数据双向绑定问题
Sep 03 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
Nov 13 Javascript
原生JS利用transform实现banner的无限滚动示例代码
Jun 15 Javascript
基于react项目打包css引用路径错误解决方案
Oct 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
提高PHP编程效率 引入缓存机制提升性能
2010/02/15 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
Python读写zip压缩文件的方法
2018/08/29 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
本科生的职业生涯规划范文
2014/01/09 职场文书
简历中的自我评价范文
2014/02/05 职场文书
小学生元旦广播稿
2014/02/21 职场文书
工程负责人任命书
2014/06/06 职场文书
保护动物的标语
2014/06/11 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
党支部意见范文
2015/06/02 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS