jquery超过DIV既定高度自动隐藏内容插件

所属分类: 网页特效-展开&收缩    2023-07-23 01:35:32

jquery超过DIV既定高度自动隐藏内容插件 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery超过DIV既定高度自动隐藏内容插件(共3个文件)

    • OverflowToggler.css
    • OverflowToggler.js
    • index.html

使用方法

$(function() 
{
	$.each($('.overflowToggler'), function (index, item)
	{
		overflowTogglerInitialize($(item));
	});
	
	jQuery.fn.extend(
	{
		overflowToggler: function() 
		{
			if(this == null)
				return;
			
			if(this.length == 1)
				overflowTogglerInitialize(this);
			else
			{
				var length = this.length;
				for(var i = 0; i < length; i++)
				{
					overflowTogglerInitialize($(this[i]));
				}
			}
		}
	});
});

function overflowTogglerInitialize(item)
{
	//handles situations where there was previously no overflow, but now there is overflow
	function handleNewOverflow(item)
	{
		var container = $("<div>").addClass("overflowToggler-container");
		
		item.before(container);
		container.append(item);
		
		var toggle = $("<div>").addClass("overflowToggler-toggler").addClass("closed");
		var toggleIcon = $("<div>").text("...").addClass("overflowToggler-toggleIcon");

		item.parent().append($("<div>").addClass("overflowToggler-contentSpacer"));

		toggle.append(toggleIcon);
		item.parent().append(toggle);
		item.parent().addClass("closed");

		toggle.click(function ()
		{
			$(this).toggleClass("open closed");
			$(this).parent().toggleClass("open closed");
		});
	}
	
	//if the item hasn't been initialized yet
	if(item.hasClass('overflowToggler') || !item.hasClass("overflowToggler-content"))
	{
		item.removeClass('overflowToggler');
		item.addClass("overflowToggler-content");
		
		//if there's overflow
		if (hasVerticalOverflow(item[0]))
			handleNewOverflow(item);
	}
	else	//already initialized
	{
		var container = item.parent();
		var toggler = container.find("> .overflowToggler-toggler");
		
		//if there wasn't overflow last time it was initialized
		if(toggler == null || toggler.length == 0)
			handleNewOverflow(item);
		else //there was overflow last time it was initialized
		{
			//close it if it was open
			if(toggler.hasClass("open"))
			{
				toggler.toggleClass("open closed");
				toggler.parent().toggleClass("open closed");
			}
			
			//if there's no overflow now
			if (!hasVerticalOverflow(item[0]))
			{
				container.after(item);
				container.remove();
			}
		}
	}
}

function hasVerticalOverflow(element)
{
	return element.scrollHeight > element.clientHeight;
}

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 展开&收缩

原生js实现的带平滑动画展开收缩特效代码

一款自定义的展开收缩文本截取插件,可自动识别高于200px的文本高度,指定位置显示展开收缩按钮。鼠标单击后触发平滑展开显示隐藏的文本文字内容。
  展开&收缩
 6254  0

jquery垂直展开收缩的手风琴特效代码

一款垂直手风琴特效组件,支持键盘上下箭头控制展开收缩操作,弹性动画呈现展开收缩。
  展开&收缩
 9232  0

jquery支持屏蔽禁用的手风琴展开收缩插件

一款常用的问答显示隐藏插件,支持对指定div进行禁止点击事件,禁止触发展开收缩特效。
  展开&收缩
 6254  0

jquery可自定义的折叠展开插件

一款支持自定义的展开收缩插件,用户可以通过单击相应的标题元素来切换内容的显示隐藏,相互间可嵌套。
  展开&收缩
 5251  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论