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代码)
Oct 29 Javascript
JS数组array元素的添加和删除方法代码实例
Jun 01 Javascript
JS制作手机端自适应缩放显示
Jun 11 Javascript
JS+CSS实现表格高亮的方法
Aug 05 Javascript
原生JS实现美图瀑布流布局赏析
Sep 07 Javascript
JS中创建函数的三种方式及区别
Mar 13 Javascript
浅析JavaScript中break、continue和return的区别
Nov 30 Javascript
原生ajax处理json格式数据的实例代码
Dec 25 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
Oct 16 Javascript
webpack3升级到webpack4遇到问题总结
Sep 30 Javascript
Vue中axios拦截器如何单独配置token
Dec 27 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
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
php图片处理函数获取类型及扩展名实例
2014/11/19 PHP
调试php程序的简单步骤
2019/10/04 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
继续学习javascript闭包
2015/12/03 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
2017/01/09 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
pandas 时间格式转换的实现
2019/07/06 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
一名女生的自荐信
2013/12/08 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
班组建设经验交流材料
2014/05/12 职场文书
党员服务承诺书
2014/05/28 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript