图片滑动轮播jquery封装

图片滑动轮播 原理:

  • 1,首先要确认可视图片的大小(方便计算宽高),这个容器设置为相对定位作为图片包裹最外层。
  • 2,设置一个可以滑动包裹住图片容器,设置绝对定位,使用左右或者上下距离产生滑动效果。
  • 3,完善索引控制,与prev与next控制。

1,首先把界面搭建好(html+css)

代码如下:demo

	<div class="mySlide" id="mySlide">
		<!--图片-->
		<div id="focusBox" class="focusBox">
			<div id="focusPics" class="focusPics">
				<div class="child"><img src="t1.jpg"/></div>
				<div class="child"><img src="t2.jpg"/></div>
				<div class="child"><img src="t3.jpg"/></div>
				<div class="child"><img src="t4.jpg"/></div>
				<div class="child"><img src="t5.jpg"/></div>
				<div class="child"><img src="t6.jpg"/></div>
			</div>
		</div>
		<!--控制-->
		<a href="#" id="btnPrev" class="btn">prev</a>
		<a href="#" id="btnNext" class="btn">next</a>
		<div id="myNav">
			<a href="#" ></a>
			<a href="#" ></a>
			<a href="#" ></a>
			<a href="#" ></a>
			<a href="#" ></a>
			<a href="#" ></a>
		</div>
	</div>

css

/*css reset*/	html,body,div,span,h1,h2,h3,h4,p,form,img,b,i,ul,li,ol,label,aside,footer,header,nav,section,figure{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;color:#333;}
body{font:12px/1.5 "Microsoft YaHei";background:url(images/bg.png) repeat;}
a{outline:none;}
/*Xslide*/
#mySlide{width:550px;height:280px;position:relative;margin:100px auto 0;}
#focusBox{width:550px;height:280px;position:relative;overflow:hidden;box-shadow:2px 2px 2px #333;}
.focusPics{position:absolute;left:0;top:0;cursor:pointer;}
.child{float:left;}
.btn{position:absolute;top:140px;width:24px;height:43px;display:block;overflow:hidden;cursor:pointer;text-indent:-999em;}
#btnPrev{left:-24px;background:url(pre.png) no-repeat;}
#btnNext{right:-24px;background-position:right bottom;background:url(next.png) no-repeat;}
#myNav{width:550px;height:20px;line-height:20px;text-align:center;position:absolute;padding:5px 0 0 0;}
#myNav a{width:12px;height:12px;display:inline-block;overflow:hidden;background:url(nav.png) no-repeat;margin:0px 3px;cursor:pointer;}
#myNav a.cur,#myNav a:hover{background-position:0px -12px;}

2,图片滑动(slide)轮播jquery封装

代码如下:demo

Continue reading

图片延迟加载原生js与jquery封装

图片延迟加载原理:

  • 1,将要加载的图片先用图片属性作一个标记。
  • 2,向window添加(scroll,resize) 事件,当图片进入可视区域时,将标记属性值替换图片的src属性值。
  • 3,当图片替换完成时,将事件卸载。

1,首先把界面搭建好(html+css)

代码如下:demo

<!--html-->
<div id="box">
  <ul>
    <li><img src="img/loading.gif" data-original="img/1.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/2.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/3.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/4.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/5.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/6.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/7.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/8.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/9.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/10.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/11.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/12.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/13.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/14.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/15.jpg" width="353" height="225" /></li>
    <li><img src="img/loading.gif" data-original="img/16.jpg" width="353" height="225" /></li>
  </ul>
</div>

简单css

body, ul, li {margin:0;padding:0;list-style-type:none;}
li {float:left;padding:10px;}
li img{box-shadow: 1px 2px 8px rgba(0,0,0,.5);}
#box {width:750px;margin:20px auto;overflow:hidden;border:5px solid red;}

2,图片延迟加载原生js封装

代码如下:demo

Continue reading

图片轮播器原生js与jquery封装

图片轮播器原理:

  • 1,首先把界面搭建好(html+css)
  • 2,实现索引按钮与图片的切换相关联
  • 3,实现些细节处理与封装(按钮索引延迟,自动轮播,停止自动轮播,简单切换效果实现,使用本地储存记录索引)

1,首先把界面搭建好(html+css)

代码如下:demo

<!--html-->
<div class="xTab">
	<!--xTab_content-->
	<div class="xTab_content">
		<img src="1.jpg" />
		<img src="2.jpg" />
		<img src="3.jpg" />
		<img src="4.jpg" />
		<img src="5.jpg" />
	</div>
	<!--xTab_nav-->
	<ul class="xTab_nav">
		<li>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
		<li>5</li>
	</ul>
</div>

样式(css)

	/*xTab style*/
	.xTab{position:relative;width:550px;height:280px;overflow:hidden;margin:100px;}
	.xTab_content{position:absolute;width:550px;height:280px;border:1px solid #D8D8D8;}
	.xTab_nav{position:absolute; right:8px;bottom:6px}
	.xTab_nav li{background:#f90;color:#fff;float:left;display:block; width:15px; height:15px; line-height:15px;border:1px solid #D8D8D8;font-family:Arial, Helvetica, sans-serif;text-align:center;margin:2px; padding: 1px;cursor:pointer;filter:alpha(opacity=80);opacity:.8;}
	.xTab_nav li.current{background:#f60;color:#fff;font-weight:bolder;filter:alpha(opacity=100);opacity:1;}

2,实现索引按钮与图片的切换相关联

代码如下:demo
Continue reading

javascript event入门基础

javascript event中一直是很多web前端开发中很头疼的问题,因为涉及很多游览器兼容性问题(ie与w3c),所以这次讲讲事件中一些处理技巧。

1,跨浏览器的事件添加与删除

  • w3c:支持addEventListener,removeEventListener.
  • ie6-ie8:支持attachEvent,detachEvent,ie9支持两种方式

因此在网上流传最多的事件添加兼容性的代码如下: demo

/*
优点:动态添加事件,this的指向在现代游览器中都指向事件触发的对象
缺点:this在ie6-ie8中指向了window,attachEvent方法存在内存泄漏问题
*/
//添加事件
function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);//DOM2.0
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);//IE5+
		return r;
	}
	else {
		elm['on' + evType] = fn;//DOM 0
	}
}
//删除事件
function delEvent(elm,evType,fn,useCapture) {
		if (elm.removeEventListener) {
			elm.removeEventListener(evType,fn,useCapture);
		}
		else if (elm.attachEvent){
			elm.detachEvent("on"+evType,fn);
		}
		else {
			elm["on"+evType]=null;
		}
	}

Continue reading

第 1 页,共 7 页12345...最旧 »