jquery实现视频滚动
原理图
<!DOCTYPE html>
<html lang="en">
<head>
<script src="jquery.js"></script>
<script src="demo.js"></script>
<link rel="stylesheet" href="style.css">
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div class="v_show">
<!-- 容器 -->
<div class="v_caption">
<!-- 头部标题 -->
<h2 class="cartoon" title='卡通动漫'>卡通动漫</h2>
<div class="highlight_tip">
<span class='current'>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
</div>
<!-- 换页显示 -->
<div class="change_btn">
<!-- 按钮 -->
<span class="prev"><img src="data:image/左.png" alt="未显示"></span>
<span class="next"><img src="data:image/右.png" alt="未显示"></span>
</div> <em class='strong'><a href=""><i>更多>></i></a></em>
</div>
<div class="v_content">
<!-- 内容展示区域 -->
<div class="v_content_list">
<!-- 内容展示区域列表-->
<ul>
<li><a href="#"><img src="data:image/01.jpg" alt="海贼王" /></a><h4><a href="#">海贼王</a></h4><span>播放:<em>28,276</em></span></li>
<li><a href="#"><img src="data:image/01.jpg" alt="海贼王" /></a><h4><a href="#">海贼王</a></h4><span>播放:<em>28,276</em></span></li>
<li><a href="#"><img src="data:image/01.jpg" alt="海贼王" /></a><h4><a href="#">海贼王</a></h4><span>播放:<em>28,276</em></span></li>
<li><a href="#"><img src="data:image/01.jpg" alt="海贼王" /></a><h4><a href="#">海贼王</a></h4><span>播放:<em>28,276</em></span></li>
<li><a href="#"><img src="data:image/02.jpg" alt="哆啦A梦" /></a><h4><a href="#">哆啦A梦</a></h4><span>播放:<em>33,326</em></span></li>
<li><a href="#"><img src="data:image/02.jpg" alt="哆啦A梦" /></a><h4><a href="#">哆啦A梦</a></h4><span>播放:<em>33,326</em></span></li>
<li><a href="#"><img src="data:image/02.jpg" alt="哆啦A梦" /></a><h4><a href="#">哆啦A梦</a></h4><span>播放:<em>33,326</em></span></li>
<li><a href="#"><img src="data:image/02.jpg" alt="哆啦A梦" /></a><h4><a href="#">哆啦A梦</a></h4><span>播放:<em>33,326</em></span></li>
<li><a href="#"><img src="data:image/03.jpg" alt="火影忍者" /></a><h4><a href="#">火影忍者</a></h4><span>播放:<em>28,276</em></span></li>
<li><a href="#"><img src="data:image/03.jpg" alt="火影忍者" /></a><h4><a href="#">火影忍者</a></h4><span>播放:<em>28,276</em></span></li>
<li><a href="#"><img src="data:image/03.jpg" alt="火影忍者" /></a><h4><a href="#">火影忍者</a></h4><span>播放:<em>28,276</em></span></li>
<li><a href="#"><img src="data:image/03.jpg" alt="火影忍者" /></a><h4><a href="#">火影忍者</a></h4><span>播放:<em>28,276</em></span></li>
<li><a href="#"><img src="data:image/04.jpg" alt="龙珠" /></a><h4><a href="#">龙珠</a></h4><span>播放 <em>57,865</em></span></li>
<li><a href="#"><img src="data:image/04.jpg" alt="龙珠" /></a><h4><a href="#">龙珠</a></h4><span>播放 <em>57,865</em></span></li>
<li><a href="#"><img src="data:image/04.jpg" alt="龙珠" /></a><h4><a href="#">龙珠</a></h4><span>播放 <em>57,865</em></span></li>
<li><a href="#"><img src="data:image/04.jpg" alt="龙珠" /></a><h4><a href="#">龙珠</a></h4><span>播放 <em>57,865</em></span></li>
</ul>
</div>
</div>
</div>
</body>
</html>
* {
margin:;
padding:;
} ul {
list-style: none;
} a {
text-decoration: none;
} .v_show {
position: relative;
top: 100px;
left: 150px;
overflow: hidden;
width: 920px;
height: 280px;
border: 2px solid #ddd;
box-shadow: 0 0 8px #ccc;
-webkit-box-shadow: 0 0 8px #ccc;
-moz-box-shadow: 0 0 8px #ccc;
-o-box-shadow: 0 0 8px #ccc;
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
-o-border-radius: 8px;
} .v_caption {
width: 1000px;
border: 2px solid #ccc;
background: url('image/beijing.jpg') 0 -200px no-repeat;
background-size: cover;
/*cover:保持图像的宽高比例,将图片缩放到正好完全覆盖定义的背景区域*/
} .cartoon, .highlight_tip, .change_btn, .prev, .next {
display: inline-block;
margin-left: 10px;
} /*.highlight_tip {
display: inline;
padding-left: 10px;
}*/ .highlight_tip span {
background: url('image/beijing4.jpg') -490px -50px no-repeat;
} .change_btn span img {
padding-top: 4px;
width: 20px;
height: 20px;
} .cartoon {
font-size: 25px;
font-weight: bold;
color: black;
} .highlight_tip .current {
background: blue;
} /*<!-- 内容展示区域 -->*/ .v_content {
position: relative;
} /*<!-- 内容展示区域列表-->*/ .v_content_list {
height: 230px;
/* line-height: 230px;*/
padding-left: 30px;
position: absolute;
} .v_content_list ul {
/* height: 230px;*/
width: 3680px;
/* line-height: 230px;这个不能加*/
position: relative;
left: -30px;
/*这个left是调整个视频内容区域的相对的位置的*/
} .v_content_list ul li {
padding-top: 25px;
position: relative;
float: left;
height: 230px;
margin-left: 40px;
} .v_content_list ul li h4 {
width: 180px;
height: 20px;
} .v_content_list ul li h4 a {
color: blue;
} .v_content_list ul li h4 a:hover {
text-decoration: underline;
} /*.v_content_list ul li span {
width: 180px;
height: 20px;
}*/ /*.v_content_list ul li a {
display: block;
width: 180px;
height: 150px;
}*/ .v_content_list ul li a img {
width: 180px;
height: 150px;
} .strong {
margin-left: 580px;
}
jQuery(document).ready(function($) {
var page = 1;
var i = 4; //每版放4个图片
$('span.next img').click(function() {
var $parent = $(this).parents('div.v_show'); //根据当前点击的元素获取到父元素
var $v_show = $parent.find('div.v_content_list'); //找到视频内容展示区域
var $v_content = $parent.find('div.v_content'); //找到视频内容展示区域的外围
var v_width = $v_content.width(); //获取区域内容的宽度,带单位
var len = $v_show.find('li').length; //总的视频图片数
var page_count = Math.ceil(len / i);
if (!$v_show.is(':animated')) {
if (page == page_count) {
//已经到最后一个版面了,如果再向后,必须跳转到第一个版面
$v_show.animate({
left: '0px'
}, 'slow'); //通过改变left值,跳转到第一个版面
page = 1;
} else {
$v_show.animate({
left: '-=' + (v_width - 40)
//left=left-(v_width-40)
}, 'slow');
// $('.current')..addClass('.newClass');
// var $first = $('.highlight_tip:nth-child('+page+')').siblings().html();
// console.log($first);
// console.log(v_width);
page++;
// left:'-='+width
// 的意思是:left属性的最终值,是left现有值减去width这个值
// 例如:left:'200px' 意思是left最终值变成200
// left:'+200px' 意思与上面相同,是left最终值变成200
// left:'+=200px' 假设当前left为100 意思是left最终值是当前值加200 ,最终值为300
}
$('.highlight_tip span:eq(' + (page - 1) + ')').addClass('current').siblings().removeClass('current');
// $parent.find('span').eq((page - 1)).addClass('current').siblings().removeClass('current ');
}
});
$('span.prev img').click(function() {
var $parent = $(this).parents('div.v_show'); //根据当前点击的元素获取到父元素
var $v_show = $parent.find('div.v_content_list'); //找到视频内容展示区域
var $v_content = $parent.find('div.v_content'); //找到视频内容展示区域的外围
var v_width = $v_content.width(); //获取区域内容的宽度,带单位
var len = $v_show.find('li').length; //总的视频图片数
var page_count = Math.ceil(len / i);
if (!$v_show.is(':animated')) { //判断动画是否还在进行,当快速点击停止后.立马停止动画
if (page == 1) {
//已经到第一个版面了,如果再向前,必须跳转到最后一个版面
$v_show.animate({
left: '-=' + (v_width - 40) * (page_count - 1)
}, 'slow'); //通过改变left值,跳转到第一个版面
page = page_count;
} else {
$v_show.animate({
left: '+=' + (v_width - 40)
}, 'slow');
page--;
}
$('.highlight_tip span:eq(' + (page - 1) + ')').addClass('current').siblings().removeClass('current');
// $parent.find('span').eq((page - 1)).addClass('currentment').siblings().removeClass('currentment ');
}
});
});
// 第一个问题是如何让版面循环的问题。
// //定义page
// 第二个问题是版面的移动有误差问题
// //减去margin-left的值既可
// 第三个问题是视频展示区域内容的文字无法显示
//去掉/* line-height: 230px;这个不能加*/
//第四个问题是增加样式增加不上去的问题
//写明思路://遍历span。先给第一个span加上背景色,然后将背景色复制给下一个并且删除掉先前的。
// 为第一个span增加current,然后写入css,后面发现addClass里面的current为自己定义的与前面span里面定义的current无关
// /* height: 230px;*/
// /* line-height: 230px;这个不能加*/ 若要每个版面放5,只需要修改i,和span还有整个容器的宽度
jquery实现视频滚动的更多相关文章
- 精心挑选10款优秀的 jQuery 图片左右滚动插件
在现代的网页设计中,图片和内容滑块是一种极为常见和重要的元素.你可以从头开始编写自己的滑动效果,但是这将浪费很多时间,因为网络上已经有众多的优秀的 jQuery 滑块插件.当然,如果要从大量的 jQu ...
- 【jQuery】scroll 滚动到顶部
Jquery 实现页面滚动到顶端 $(document).ready(function () { // 滚动窗口来判断按钮显示或隐藏 $(window).scroll(function () { // ...
- jQuery BreakingNews 间歇滚动
BreakingNews 是一款基于jQuery的间歇滚动插件.它可以设置标题.标题颜色.标题背景颜色.链接颜色.字体大小.边框.宽度.自动滚动.间歇时间等等,同时它还好提供两种过度方式--淡入淡出( ...
- Infinite Scroll - jQuery & WP 无限滚动插件
无限滚动(Infinite Scroll)也称为自动分页.滚动分页和无限分页.常用在图片.文章或其它列表形式的网页中,用来在滚动网页的时候自动加载下一页的内容.Infinite Scroll 这款 ...
- jQuery图片无缝滚动JS代码ul/li结构
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery文字左右滚动
实现jquery文字左右滚动 <div class="fl">中奖名单:</div> <div class="scrollText" ...
- jQuery图片无缝滚动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jQuery.hhLRSlider 左右滚动图片插件
/** * jQuery.hhLRSlider 左右滚动图片插件 * User: huanhuan * QQ: 651471385 * Email: th.wanghuan@gmail.com ...
- jquery图片无缝滚动代码左右 上下无缝滚动图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- jmeter之-图形监控
一.安装 https://jmeter-plugins.org/downloads/old/ 下载JMeterPlugins-Standard-1.4.0(监听器-图形界面)和ServerAgent- ...
- Springboot开篇
1.Spring -boot-starter-web:用于构建web 应用模块,加入后包含spring mvc框架,默认内嵌tomcat容器 2.spring-boot-starter-jpa:用于构 ...
- Template within template: why “`>>' should be `> >' within a nested template argument list” 解决方法
如果直接这样写: std::vector<boost::shared_ptr<int>> intvec; gcc编译器会把">>"当成opera ...
- idea无法引用jar包中的class
最近由eclipse换idea的过程中,出现了一个很奇妙的问题! 项目是maven+git+idea管理的,idea某次在使用的过程中,电脑死机重启后,发现无法引用jar包中的class.包括jdk中 ...
- Apache Flink 整体介绍
前言 Flink 是一种流式计算框架,为什么我会接触到 Flink 呢?因为我目前在负责的是监控平台的告警部分,负责采集到的监控数据会直接往 kafka 里塞,然后告警这边需要从 kafka topi ...
- PAT_A1083#List Grades
Source: PAT A1083 List Grades (25 分) Description: Given a list of N student records with name, ID an ...
- smf和mmf分别是什么?
单模光纤/缩写SMF(single mode fiber) 多模光纤/缩写MMF(multi mode (optical) fibre)
- 注释类型 XmlType
@Retention(value=RUNTIME) @Target(value=TYPE) public @interface XmlType 将类或枚举类型映射到 XML 模式类型. 用法 @Xml ...
- xshell6 远程连接时提示 WARNING! The remote SSH server rejected X11 forwarding request.
1.输入命令 vi /etc/ssh/sshd_config ,修改配置文件 2.将UserLogin no 的注释解除 3.执行yum install -y xorg-x11-font xorg ...
- apache httpd 2.4 配置
[authz_core:error] [pid 19562] [client 10.0.0.22:45424] AH01630: client denied by server configurati ...