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 相关文章推荐
Jquery知识点三 jquery表单对象操作
Jan 17 Javascript
JS加jquery简单实现标签元素的显示或隐藏
Sep 23 Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
May 07 Javascript
JavaScript生成二维码图片小结
Dec 27 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
Jun 11 Javascript
JS库之wow.js使用方法
Sep 14 Javascript
vue webpack打包优化操作技巧
Feb 22 Javascript
CryptoJS中AES实现前后端通用加解密技术
Dec 18 Javascript
浅谈JavaScript节流和防抖函数
Aug 25 Javascript
JS实现拖拽元素时与另一元素碰撞检测
Aug 27 Javascript
JavaScript实现H5接金币功能(实例代码)
Feb 22 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函数解决SQL injection
2006/10/09 PHP
php sprintf()函数让你的sql操作更安全
2008/07/23 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
Dojo 学习要点
2010/09/03 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
使用 js+正则表达式为关键词添加链接
2014/11/11 Javascript
jquery图片切换插件
2015/03/16 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
python使用chardet判断字符串编码的方法
2015/03/13 Python
PyQt实现界面翻转切换效果
2018/04/20 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python实现合并两个排序的链表
2019/03/03 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
计算机专业毕业生推荐信
2013/11/25 职场文书
小学班主任评语大全
2014/04/23 职场文书
语文教育专业求职信
2014/06/28 职场文书
语文课外活动总结
2014/08/27 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
家长反馈意见及建议
2015/06/03 职场文书
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫