js实现适合新闻类图片的轮播效果


Posted in Javascript onFebruary 05, 2017

话不多说,请看代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Picture carousel</title>
<style>
*
{
 margin: 0;
 padding: 0;
}
.carousel-container
{
 overflow: hidden;
 width: 405px;/* 130*3+5*3 = 405 */
 height: 150px;
 margin: 50px auto;
 background-color: #2c2c2c;
}
.carousel-area
{
 width: 1350px;/* 675*2 = 1350 */
 height: 150px;
}
.carousel-ul
{
 float: left;
 overflow: hidden;
 width: 675px;/* 130*5+5*5 = 675 */
 height: 150px;
}
.carousel-ul li
{
 float: left;
 overflow: hidden;
 width: 130px;
 height: 130px;
 margin: 10px 5px 10px 0;
 list-style-type: none;
}
 </style>
</head>
<body>
 <div class="carousel-container">
 <div class="carousel-area">
 <ul class="carousel-ul" id="carousel-ul-1">
 <li><img src="img/1.gif" alt=""></li>
 <li><img src="img/2.jpg" alt=""></li>
 <li><img src="img/3.jpg" alt=""></li>
 <li><img src="img/4.jpg" alt=""></li>
 <li><img src="img/5.gif" alt=""></li>
 </ul>
 </div>
 </div>
<script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script>
 $(document).ready(function() {
 var carousel_interval_id, //interval ID
 start_carousel_flag = false, //是否开始interval
 carousel_speed = 50, //滚动速度(px/s),carousel_speed=1000/interval时间间隔。
 start_interval = function() { //执行interval
  start_carousel_flag = true;
  carousel_interval_id = setInterval(function() {
  var margin_left = $('.carousel-area').css('margin-left');
  $('.carousel-area').css('margin-left', (parseInt(margin_left) - 1) + 'px'); //不断左移1px
  if (parseInt($('.carousel-area').css('margin-left')) <= -($('.carousel-ul').width())) { //轮播部分超出容器后复位
   $('.carousel-area').css('margin-left', 0);
  }
  }, 1000 / carousel_speed)
 },
 end_interval = function() { //停止interval
  start_carousel_flag = false;
  carousel_interval_id = clearInterval(carousel_interval_id);
 }
 $('.carousel-area').append('<ul class="carousel-ul">' + $('.carousel-ul').html() + '</ul>'); //复制carousel-ul,填补左移后出现的无内容区域,以此完成循环
 start_interval();
 $('.carousel-area').hover(
 function() { //鼠标悬停事件
  if (start_carousel_flag) { //已经开始interval
  end_interval();
  }
 },
 function() { //鼠标离开事件
  if (!start_carousel_flag) { //没有开始interval
  start_interval();
  }
 }
 )
})
</script>
</body>
</html>

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

Javascript 相关文章推荐
JavaScript自动设置IFrame高度的小例子
Jun 08 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
JavaScript检测鼠标移动方向的方法
May 22 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
Jan 14 Javascript
BooStrap对导航条的改造实践小结
Sep 21 Javascript
js实现旋转木马效果
Mar 17 Javascript
React学习之事件绑定的几种方法对比
Sep 24 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
js实现二级菜单点击显示当前内容效果
Apr 28 Javascript
Postman的下载及安装教程详解
Oct 16 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
Mar 14 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 #Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 #Javascript
thinkjs之页面跳转同步异步操作
Feb 05 #Javascript
js实现5秒倒计时重新发送短信功能
Feb 05 #Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
Feb 05 #Javascript
js仿小米手机上下滑动效果
Feb 05 #Javascript
简单实现js无缝滚动效果
Feb 05 #Javascript
You might like
解析argc argv在php中的应用
2013/06/24 PHP
为百度UE编辑器上传图片添加水印功能
2015/04/16 PHP
php中通用的excel导出方法实例
2017/12/30 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
JS input 数字验证代码
2009/07/30 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
基于jQuery实现网页打印功能
2015/12/01 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
Python numpy 点数组去重的实例
2018/04/18 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
简单了解python的break、continue、pass
2019/07/08 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
Python日志syslog使用原理详解
2020/02/18 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
毕业生个人求职的自我评价
2013/10/28 职场文书
市场营销专业毕业生自荐信
2013/11/02 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
同学会主持词
2014/03/18 职场文书
先进工作者申报材料
2014/12/23 职场文书
债务纠纷代理词
2015/05/25 职场文书