热门关键字:
jquery > jquery插件 > jquery图片滚动 > 分享一款非常实用的Accordion手风琴js特效

分享一款非常实用的Accordion手风琴js特效

8771
所属分类:jquery图片滚动
发布时间:2012/12/30 2:48:13
下载量:1589
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Detail.aspx?id=139

Accordion手风琴js特效是一款非常实用的功能,同时也是JquerySchool网站上第一个手风琴效果作品,前段时间很多Jquery学堂群里的网友问官网有没有这类型的作品啊,由于一直没有网友分享这类型的作品,所以今天有空整理了一个手风琴效果分享给大家用,代码结构清晰,非常适合网友们学习。

 

js代码如下:

var accordion = function() {
	var tm = sp = 10;
	function slider(n) {
		this.nm = n;
		this.arr = []
	}
	slider.prototype.init = function(t, c, k) {
		var a,
		h,
		s,
		l,
		i;
		a = document.getElementById(t);
		this.sl = k ? k: '';
		h = a.getElementsByTagName('dt');
		s = a.getElementsByTagName('dd');
		this.l = h.length;
		for (i = 0; i < this.l; i++) {
			var d = h[i];
			this.arr[i] = d;
			d.onclick = new Function(this.nm + '.pro(this)');
			if (c == i) {
				d.className = this.sl
			}
		}
		l = s.length;
		for (i = 0; i < l; i++) {
			var d = s[i];
			d.mh = d.offsetWidth;
			if (c != i) {
				d.style.width = 0;
				d.style.display = 'none'
			}
		}
	}
	slider.prototype.pro = function(d) {
		for (var i = 0; i < this.l; i++) {
			var h = this.arr[i],
			s = h.nextSibling;
			s = s.nodeType != 1 ? s.nextSibling: s;
			clearInterval(s.tm);
			if ((h == d && s.style.display == 'none') || (h == d && s.style.display == '')) {
				s.style.display = '';
				su(s, 1);
				h.className = this.sl
			}
			 else if (s.style.display == '') {
				su(s, -1);
				h.className = ''
			}
		}
	}
	function su(c, f) {
		c.tm = setInterval(function() {
			sl(c, f)
		},
		tm)
	}
	function sl(c, f) {
		var h = c.offsetWidth,
		m = c.mh,
		d = f == 1 ? m - h: h;
		c.style.width = h + (Math.ceil(d / sp) * f) + 'px';
		c.style.opacity = h / m;
		c.style.filter = 'alpha(opacity=' + h * 100 / m + ')';
		if (f == 1 && h >= m) {
			clearInterval(c.tm)
		} else if (f != 1 && h == 1) {
			c.style.display = 'none';
			clearInterval(c.tm)
		}
	}
	return {
		slider: slider
	}
}();

 

效果如下:

分享一款非常实用的Accordion手风琴js特效

 

 





如果您觉得本作品对您的学习有所帮助:支付鼓励



关键字:Accordion 手风琴效果 选项卡 导航菜单 滚动特效 滑动插件 js特效
  • 分享一款非常实用的Accordion手风琴js特效如果你喜欢学院的资源就下载吧,亲,谢谢!
  • 分享一款非常实用的Accordion手风琴js特效
  • 分享一款非常实用的Accordion手风琴js特效
  • 提示:如果网络问题无法下载,请多尝试几次,与 网站管理员联系 或 本站留言 !

声明: 本站内容均为网友原创或整理于互联网,版权归作品最初创作人,转载请注明(出处)原文链接,转载前请邮件至磐temdy@qq.com,一旦发现造成侵权行为,后果自负。。

友荐云推荐