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 相关文章推荐
弹出广告特效(一个IP只弹出一次)的代码
Jul 27 Javascript
js停止输出代码
Jul 20 Javascript
学习ExtJS table布局
Oct 08 Javascript
JQuery和HTML5 Canvas实现弹幕效果
Jan 04 Javascript
JavaScript实现前端实时搜索功能
Mar 26 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
Jun 04 Javascript
javascript兼容性(实例讲解)
Aug 15 Javascript
shiro授权的实现原理
Sep 21 Javascript
js中el表达式的使用和非空判断方法
Mar 28 Javascript
React降级配置及Ant Design配置详解
Dec 27 Javascript
vue 判断元素内容是否超过宽度的方式
Jul 29 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
Yii快速入门经典教程
2015/12/28 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
js压缩利器
2007/02/20 Javascript
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
JavaScript实现指定数量的并发限制的示例代码
2020/03/10 Javascript
python多线程扫描端口示例
2014/01/16 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
关于Java finally的面试题
2016/04/27 面试题
翻译专业应届生求职信
2013/11/23 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
根叔历年演讲稿
2014/05/20 职场文书
学校安全管理责任书
2014/07/23 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
2014年环保工作总结
2014/11/26 职场文书
创业计划书之废品回收
2019/09/26 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript