js banner滚动特效

<style>
#iFocusx{position:relative; height:547px;};
.w-slider{width:100%; overflow:hidden;z-index:1;}
.pos-abs{position:absolute;}
.pos-rel{position:relative; height:547px; width:100%; overflow:hidden;}
.slider-scroll{width:100%; background:transparent;}
.slider-main{position: absolute;top: 0; left: 0;height:547px; width:4323px;}
.slider-main .current{ display:block;}
.slider-main li{width:1441px;height:547px; text-align:center; float: left; overflow:hidden;}
.slider-ctrl{ width:1441px; margin:0 auto;  text-align:center; height:35px;z-index:9999;  position: absolute;top:370px;}
.slider-ctrl .slider-ctrl-con{ display:inline-block;width:30px;height:10px;margin:0 1px;background-color: #fafafa;text-indent:-10em;overflow:hidden;cursor:pointer;border-radius:5px;-moz-box-shadow:1px 1px 1px #A9A9A9 inset;-webkit-box-shadow:1px 1px 1px #A9A9A9 inset;box-shadow:1px 1px 1px #A9A9A9 inset;background:#D3D3D3; margin-top:140px; vertical-align:top}
.slider-ctrl .current{background-color: #009896;-moz-box-shadow:1px 1px 1px #1678A0 inset;-webkit-box-shadow:1px 1px 1px #1678A0 inset;box-shadow:1px 1px 1px #1678A0 inset;}
.slider-ctrl .slider-ctrl-prev,.slider-ctrl .slider-ctrl-next{opacity:.5;position:absolute;z-index:1;overflow:hidden;width:30px;height:35px;cursor:pointer;text-indent:-10em;}
.slider-ctrl .slider-ctrl-prev:hover,.slider-ctrl .slider-ctrl-next:hover{opacity:1;}
.slider-ctrl .slider-ctrl-prev{background-position:6px top;left:0;top:0; display:none;}
.slider-ctrl .slider-ctrl-next{background-position:-6px -45px;right:0; top:-35px;}

</style>
<!--banner内容-->
<div id="iFocusx">
  <div id="js_slider" class="w-slider pos-rel">
     <ul class="slider-main">
     	<li class="slider-main-img" style="background:url(http://www.lycmd.com/uploads/allimg/141107/1-14110G620140-L.jpg) no-repeat center">
            <div class="w clearfix"> <b></b> <a href="/show/shouyehuandengpian/2014/1107/77.html" class="i_f_links track"></a> </div>
          </li>
<li class="slider-main-img" style="background:url(http://www.lycmd.com/uploads/allimg/141010/003.jpg) no-repeat center">
            <div class="w clearfix"> <b></b> <a href="/show/shouyehuandengpian/2014/1010/29.html" class="i_f_links track"></a> </div>
          </li>
<li class="slider-main-img" style="background:url(http://www.lycmd.com/uploads/allimg/141010/002.jpg) no-repeat center">
            <div class="w clearfix"> <b></b> <a href="/show/shouyehuandengpian/2014/1010/28.html" class="i_f_links track"></a> </div>
          </li>
<li class="slider-main-img" style="background:url(http://www.lycmd.com/uploads/allimg/141010/ima_29.jpg) no-repeat center">
            <div class="w clearfix"> <b></b> <a href="/show/shouyehuandengpian/2014/1010/27.html" class="i_f_links track"></a> </div>
          </li>

    </ul>
      <div class="slider-ctrl" id="slider-ctrl">
         <span class="slider-ctrl-con">1</span>
         <span class="slider-ctrl-con">2</span>
         <span class="slider-ctrl-con">3</span>
          <span class="slider-ctrl-con">4</span>
      </div>
  </div>
</div>
<script src="http://www.lycmd.com/js/jquery-1.7.1.min.js"></script>
<script>
	//当改变窗口时重新设置下盒子宽度
	var win_w = document.body.offsetWidth;
	window.onresize = function(){
		win_w = document.body.offsetWidth;
		$("#js_slider .slider-main li").width(win_w);
		$(".slider-main").width(win_w*$("#js_slider .slider-main li").length);
		rolling();
	};
	$("#js_slider .slider-main li").width(win_w);
	$(".slider-main").width(win_w*$("#js_slider .slider-main li").length);

	window.onload = rolling();
	function rolling(){
		var oDiv = document.getElementById("js_slider");
		var oUl =   oDiv.getElementsByTagName("ul")[0];
		var oLi = oUl.getElementsByTagName("li");
		var aLi = document.getElementById("slider-ctrl").getElementsByTagName("span");
		var now = 0;
		for(var i= 0; i<aLi.length;i++)
		{
			aLi[i].index = i;
			aLi[i].onmouseover = function(){
				now=this.index;
				tab();
			}
		}

		function tab(){
			for(var i= 0; i<aLi.length;i++){
				aLi[i].className ="slider-ctrl-con";
				}
				startMove(oUl, {left: -win_w*now});
				aLi[now].className+=" current";
		}

		function next()
		{
			now++
			if(now==aLi.length)
			{
				now=0;
			}
			tab();
		}
		var timer=setInterval(next, 6000);
		oDiv.onmouseover=function ()
		{
			clearInterval(timer);
		};

		oDiv.onmouseout=function ()
		{
			timer=setInterval(next, 6000);
		};
	}

	function getStyle(obj, name)
{
	if(obj.currentStyle)
	{
		return obj.currentStyle[name];
	}
	else
	{
		return getComputedStyle(obj, false)[name];
	}
}

//startMove(oDiv, {width: 400, height: 400})

function startMove(obj, json, fnEnd)
{
	clearInterval(obj.timer);
	obj.timer=setInterval(function (){
		var bStop=true;		//假设:所有值都已经到了

		for(var attr in json)
		{
			var cur=0;

			if(attr==‘opacity‘)
			{
				cur=Math.round(parseFloat(getStyle(obj, attr))*100);
			}
			else
			{
				cur=parseInt(getStyle(obj, attr));
			}

			var speed=(json[attr]-cur)/6;
			speed=speed>0?Math.ceil(speed):Math.floor(speed);

			if(cur!=json[attr])
				bStop=false;

			if(attr==‘opacity‘)
			{
				obj.style.filter=‘alpha(opacity:‘+(cur+speed)+‘)‘;
				obj.style.opacity=(cur+speed)/100;
			}
			else
			{
				obj.style[attr]=cur+speed+‘px‘;
			}
		}

		if(bStop)
		{
			clearInterval(obj.timer);

			if(fnEnd)fnEnd();
		}
	}, 30);
}
</script>
时间: 2024-09-29 00:26:20

js banner滚动特效的相关文章

原生js实现tab选项卡里内嵌图片滚动特效代码

<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8"><title>原生js实现tab选项卡里内嵌图片滚动特效代码</title><meta name="keywords" content="原生js实现tab选项卡里内嵌图片滚动特效代码" /><meta name=&

wap图片滚动特效_无css3 元素js脚本编写

手机图片滑动切换,网上有很多这样的例子,但都借助于其他组件,让代码混乱的不行:还有就是用到css3里的 transform:translate(x,y);移动元素,不过发现在不支持css3的设备上马上完蛋了,所 有下定决心自己做一个,谁知出现了很多的问题,其中最重要的是给图片加链接,网页中的上下滚动条不能在拖动图片的时候滚动,并且不能兼容pc机器上的拖动:在这里就简单介绍一下遇到的问题和解决的方法: 问题一:给图片加上链接后,在拖动的时候总是跳到其他页面: 问题根源主要是不能判断是点击还是拖动,

图片切换特效(2):JS图片滚动代码(无缝、平滑)

转自:http://www.codefans.net/jscss/code/255.shtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

Sequence.js 实现带有视差滚动特效的图片滑块

Sequence.js 功能齐全,除了能实现之前分享过的现代的图片滑动效果,还可以融合当前非常流行的视差滚动(Parallax Scrolling)效果.让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验. 效果演示     插件下载 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12个让人惊叹的的创意的 404 错误页面设计 让网站动起来!12款优秀的 jQuery 动画插件 十分惊艳的8个 HTM

jquery版楼层滚动特效

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>楼层滚动特效</title> </head> <script src="js/jquery-1.9.1.min.js" type="text/javascript" charset="utf-8"></scri

扒皮下腾讯网站地图页面页卡的滚动特效

今天要扒的是腾讯网站地图页面(http://www.qq.com/map/)页卡滚动效果,见下图 有兴趣的童鞋可以去那页面试一试,其动画效果见下图: 那么先理下思路:上方的按钮对应下方的某个栏目,点击某按钮时,其对应的栏目(暂且称为A吧)滚到最上方,原本在A前方的栏目则在滚动结束后自动跳到最后面(这里要注意顺序,比如在A前面有2个栏目B和C,那么B滚完便跳到最后,然后C开始滚,C滚完跳到最后面). 咱这里说的“跳”可以用append实现,即把前面的元素有序地移到最后.至于滚动,可以在全部栏目外围

jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)

最近项目中门户首页需要做出图片间歇式无缝滚动特效,但是在网上找资料都是不太理想,不过可以指导.最后自己写了一个demo实现了这个特效,分享出来. 1.jquery.cxscroll.js /*! * jQuery cxScroll 1.2.1 * http://code.ciaoca.com/ * https://github.com/ciaoca/cxScroll * E-mail: [email protected] * Released under the MIT license * Da

JQ滚动特效

1 <!DOCTYPE html> 2 <html lang="zh"> 3 4 <head> 5 <meta charset="UTF-8" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 <meta http-equiv="X-UA-Co

js页面滚动时层智能浮动定位实现:

案例展示: 第一个:每个人都有看过的淘宝页面: 案例就不多说了,有兴趣的可以多去找找, 这样的智能浮动效果还是不错的,挺方便. 基本的实现原理: 首先有一个默认状态就是没有滚动的时候,什么事情也不用做,定位可以是absolute,也可以是stati,fixed,relartive 这些都可以.我们主要需要关注的是当浏览器滚动的时候,(要浮动的块)要移除浏览器界面视区的时候,修改其position属性,让其浮动在窗口的上沿显示就可以了.最好的position属性就是fixed了,可以在IE6+和其