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的版本实现执行不同的代码
May 11 Javascript
利用js(jquery)操作Cookie的方法说明
Dec 19 Javascript
js的Boolean对象初始值示例
Mar 04 Javascript
jQuery插件实现静态HTML验证码校验
Nov 06 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
Sep 08 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
Nov 07 Javascript
常用的几个JQuery代码片段
Mar 13 Javascript
Vue.js实现输入框绑定的实例代码
Aug 24 Javascript
JS基于开关思想实现的数组去重功能【案例】
Feb 18 Javascript
React中Ref 的使用方法详解
Apr 28 Javascript
vue实现拖拽进度条
Mar 01 Vue.js
JavaScript实现音乐播放器
Aug 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
php实现复制移动文件的方法
2015/07/29 PHP
php自定义时间转换函数示例
2016/12/07 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
jQuery渐变发光导航菜单的实例代码
2013/03/27 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
Python实现元素等待代码实例
2019/11/11 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
html5启动原生APP总结
2020/07/03 HTML / CSS
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
英国最大的海报商店:GB Posters
2018/03/20 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
什么是接口(Interface)?
2013/02/01 面试题
大学生专科毕业生自我评价
2013/11/17 职场文书
亲属关系公证书
2014/04/08 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
检讨书1000字
2014/10/11 职场文书
团日活动总结格式
2015/05/11 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
使用Java去实现超市会员管理系统
2022/03/18 Java/Android
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android