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 相关文章推荐
论坛特效代码收集(落伍转发-不错)
Dec 02 Javascript
In Javascript Class, how to call the prototype method.(three method)
Jan 09 Javascript
js操作二级联动实现代码
Jul 27 Javascript
jquery下异步提交表单 异步跨域提交表单
Nov 17 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 Javascript
微信小程序 数据遍历的实现
Apr 05 Javascript
mui上拉加载功能实例详解
Apr 13 Javascript
Vue登录注册并保持登录状态的方法
Aug 17 Javascript
JavaScript实现美化滑块效果
May 17 Javascript
vue回到顶部监听滚动事件详解
Aug 02 Javascript
Vue退出登录时清空缓存的实现
Nov 12 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设计模式 注册表模式
2012/02/05 PHP
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
微信公众号开发之语音消息识别php代码
2016/08/08 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
jquery提示 &quot;object expected&quot;的解决方法
2009/12/13 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
通过实例解析python and和or使用方法
2020/11/14 Python
Python list和str互转的实现示例
2020/11/16 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
HTML5实现预览本地图片
2016/02/17 HTML / CSS
小学开学典礼主持词
2014/03/19 职场文书
个人工作表现自我评价
2015/03/06 职场文书
施工安全保证书
2015/05/09 职场文书
欠款起诉书范文
2015/05/19 职场文书
庆祝教师节主持词
2015/07/06 职场文书
教师听课学习心得体会
2016/01/15 职场文书
初一语文教学反思
2016/03/03 职场文书
python如何读取和存储dict()与.json格式文件
2022/06/25 Python