Swiper结合jQuery实现腾讯新闻首页

Posted on 2017-06-30 08:38  ITandYT  阅读(2139)  评论(0编辑  收藏  举报

今天我们来说一下,Swiper结合jQuery实现的腾讯新闻首页,

咱们先来看一下效果图:

这也是我把PC端缩成移动端来截的图,毕竟是PC端,要是不好看的话请见谅,,,,,,,,,,,,,

然后请允许我墨迹几句话,说一下我的小思路,

我的这个页面上,所有的东西都是可以滑动的,包括上面的小导航....也就是说可移动的滑块有三个;

1,导航条

2.轮播图,

3选项卡

在这方面我用了3个Swiper滑块,分别设置不同的属性,然后在选项卡里我用了onSlideChangeStart这个方法,回调函数,swiper从当前slide开始过渡到另一个slide时执行。触摸情况下,如果释放slide时没有达到过渡条件而回弹时不会触发这个函数.然后通过jQuery来操作CSS样式,完成选项卡的效果:

翠花:"代码来了"!

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>腾讯</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>

<link rel="stylesheet" href="css/swiper.min.css">
<script src="js/jquery-1.10.1.min.js"></script>
<script src="js/swiper.min.js"></script>
<style>
* {
	margin: 0;
	padding: 0;
}
#header {
	position:absolute;
	left:0;
	top:0;
	z-index:999;
	width: 100%;
	height: 43px;
	overflow: hidden;
	background: #fdfdfc;
	box-shadow:3px 3px 3px rgba(0,0,0,0.2);
}
#top-line {
	width: 100%;
	height: 3px;
	line-height: 0;
	font-size: 0;
	overflow: hidden;
	text-align: center;
	z-index: 1;
	background-color: #0fa6ea;

}
#header .swiper-slide {
	padding: 0 20px;
	width:auto;
}
#banner {
	width: 100%;
	height:170px;
	overflow: hidden;
	margin-top:43px;
	position:relative;
}
#banner .swiper-slide {
	position:relative;
	text-align:center;
}
#banner img {
	max-width: 100%;
}
.gallerytitle {
text-align: center;
font-size: 1em;
height: 42px;
line-height: 42px;
color: #fafafa;
position: absolute;
left: 0;
bottom: 0;
right: 0;
font-weight: normal;
text-shadow: 1px 1px 1px #000;
/* background-color: rgba(21,20,20,0.5); */
background-color: rgba(0,0,0,0);

}
.pagination {
  position: absolute;
  z-index: 20;
  bottom: 10px;
  width: 66px;
  text-align: center;
  right:0;
}
.swiper-pagination-bullet {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius:5px;
  background: #fff;
  margin: 0 2px;
  opacity: 0.8;
  cursor: pointer;
}
.swiper-pagination-bullet-active {
  background: #ff6600;
}
#tabs-container{
	height:400px;
}
.tabs{
	margin-top:20px;
	border-top: 2px solid #9ac7ed;
	background:url(images/headbg.png) no-repeat left top #f9fafa;
	background-size:auto 100%;
	width:100%;
	height:38px;
	overflow:hidden;
}
.tabs a{
font-size: 1.125em;
font-weight: normal;
text-align: center;
float: left;
width: 64px;
height: 38px;
line-height: 38px;
color: #2a70be;
}
.tabs a.active {
border-top: 2px solid #2a70be;
margin-top: -2px;
background-image: url(images/tab_ui.png);
background-repeat: no-repeat;
/*-webkit-background-size: 64px 39px;
-moz-background-size: 64px 39px;
-o-background-size: 64px 39px;*/
background-size: 64px 39px;
background-position: left top;
color: #c14545;
}
.news-list{
	padding:0 10px;
}
.news-list li{
	overflow: hidden;
border-bottom: 1px solid #eceef0;
box-shadow: 0 1px 1px #fff;
font-weight: normal;
height: 35px;
line-height: 35px;
font-size: 1.125em;
}
</style>
</head>
<body>
<div id="header">
  <div id="top-line"></div>
  <div class="swiper-wrapper">
    <div class="swiper-slide">新闻</div>
    <div class="swiper-slide">财经</div>
    <div class="swiper-slide">娱乐</div>
    <div class="swiper-slide">体育</div>
    <div class="swiper-slide">订阅</div>
    <div class="swiper-slide">微博</div>
    <div class="swiper-slide">空间</div>
    <div class="swiper-slide">书城</div>
  </div>
</div>

<div id="banner">
  <div class="swiper-wrapper">
    <div class="swiper-slide"><img src="images/0.jpg" /><h2 class="gallerytitle">孙俪芈月造型亮相 清纯似少女</h2></div>
    <div class="swiper-slide"><img src="images/1.jpg" /><h2 class="gallerytitle">Angelababy弟弟曝光 五官精致颜值爆表</h2></div>
  </div>
<div class="pagination"></div>  
</div>



<div class="tabs"> <a href="#" class="active">新闻</a> <a href="#" >社会</a> <a href="#">军事</a> </div>
  <div id="tabs-container" class="swiper-container">
    <div class="swiper-wrapper">
      <div class="swiper-slide">
        <div class="content-slide">
        <ul class="news-list">
       <li>朝鲜逃兵越境杀4名中国人被捕</li>
<li>温州立人集团非法吸存案宣判</li>
<li>陈水扁坐狱6年后获准保外就医</li>
<li>她们的家长不觉得丢人吗?</li>
<li>1名韩国毒贩在华被执行死刑</li>
<li>呼格案疑似真凶赵志红受审</li>
<li>媒体披露杨卫泽被带走细节</li>
<li>改样板戏,你能比徐克牛吗?</li>
<li>社保缴费狂涨:穷人不堪重负</li>
<li>A股美元:当负相关已成往事</li>

        </ul>
        </div>
      </div>
      <div class="swiper-slide">
        <div class="content-slide">
         <ul class="news-list">
       <li>
        巨型野生灵芝直径1米多</li>
<li>那些年 被毁过的童年照</li>
<li>男子为侄儿设计“大白鲨”床</li>
<li>女子婚后发现车房全是借来的</li>
<li>女子钓到800斤金枪鱼</li>
<li>濒危动物并非全都可爱</li>
<li>贫困大学生捡万元现金交警察</li>
<li>女子裸体钻烟囱欲见前男友</li>
<li>父亲将女儿房子赠给自己被告</li>
<li>少女开颅手术中醒来询问进程</li>
</ul>

        </div>
      </div>
      <div class="swiper-slide">
        <div class="content-slide"> <ul class="news-list">
       <li>
        韩国也山寨"机器大狗":能跑能跳</li>
   <li>杨子荣智取威虎山的前前后后</li>
   <li>中国近2年已猛造100艘舰艇</li>
   <li>兵王练瞄准用眼过度 险些失明</li>
   <li>美媒称中日开战美国有2种结局</li>
   <li>俄神秘电台连续40年发送信号</li>
   <li>专家:翼龙战机可部署中越边境</li>
   <li>驻藏战士前行500米用1小时</li>
   <li>"太行"行了:歼11B重歼大批下线</li>
   <li>中国水下机器人可攻击敌蛙人
</li></ul>
        </div>
      </div>
    </div>
  </div>

<script type="text/javascript">
window.onload = function() {
  var mySwiper1 = new Swiper('#header',{
	  freeMode : true,
	  slidesPerView : 'auto',
  });
  var mySwiper2 = new Swiper('#banner',{
	  autoplay:5000,
	  visibilityFullFit : true,
	  loop:true,
	  pagination : '.pagination',
  });
  
  var tabsSwiper = new Swiper('#tabs-container',{
    speed:500,
    onSlideChangeStart: function(){
      $(".tabs .active").removeClass('active')
      $(".tabs a").eq(tabsSwiper.activeIndex).addClass('active')  
    }
  })
  $(".tabs a").on('touchstart mousedown',function(e){
    e.preventDefault()
    $(".tabs .active").removeClass('active')
    $(this).addClass('active')
    tabsSwiper.slideTo( $(this).index() )
  })
  $(".tabs a").click(function(e){
    e.preventDefault()
  })
  
}
</script>
</body>
</html>

  今天的知识就是这样!你们学会了吗????