3D Folding Panel

3D 褶皱效果
授权协议 未知
开发语言 JavaScript HTML/CSS
所属分类 jQuery 插件、 jQuery界面效果
软件类型 开源软件
地区 不详
投 递 者 杨骁
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

3D Folding Panel 是一款 CSS 转换和 jQuery 提供动力的次要内容面板。能够渲染 3D 褶皱效果。支持 IE、Chrome、firefox、Safari、Opera。

3d folding panel

创建结构:

<main class="cd-main">
	<ul class="cd-gallery">
		<li class="cd-item">
			<a href="item-1.html">
				<div>
					<h2>Title 1</h2>
					<p>Lorem ipsum dolor sit amet, consectetur.</p>
					<b>View More</b>
				</div>
			</a>
		</li>
 
		<li class="cd-item">
			<!-- content here -->
		</li>
 
		<!-- additional list items here -->
	</ul> <!-- .cd-gallery -->
</main> <!-- .cd-main -->
 
<div class="cd-folding-panel">
	
	<div class="fold-left"></div> <!-- this is the left fold -->
	
	<div class="fold-right"></div> <!-- this is the right fold -->
	
	<div class="cd-fold-content">
		<!-- content will be loaded using javascript -->
	</div>
 
	<a class="cd-close" href="#0"></a>
</div> <!-- .cd-folding-panel -->

添加样式:

.cd-main {
  overflow-x: hidden;
}
.cd-main > * {
  transition: transform 0.5s 0.4s;
}
.cd-main.fold-is-open > * {
  /* on mobile - translate .cd-main content to the right when the .cd-folding-panel is open */
  transform: translateX(100%);
  transition: transform 0.5s 0s;
}
 
.cd-folding-panel {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  visibility: hidden;
  overflow: hidden;
  transition: visibility 0s 0.9s;
}
.cd-folding-panel .fold-left,
.cd-folding-panel .fold-right {
  /* the :after elements of .fold-left and .fold-right are the 2 fold sides */
  width: 100%;
  height: 100vh;
  overflow: hidden;
  /* enable a 3D-space for children elements */
  perspective: 2000px;
}
.cd-folding-panel .fold-right {
  perspective-origin: 0% 50%;
}
.cd-folding-panel .fold-left {
  /* on mobile only the right fold side is visible */
  display: none;
}
.cd-folding-panel .fold-right::after {
  /* 2 fold sides */
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transform-origin: right center;
  transform: translateX(-100%) rotateY(-90deg);
  transition: transform 0.5s 0.4s, background-color 0.5s 0.4s;
}
.cd-folding-panel.is-open {
  visibility: visible;
  transition: visibility 0s 0s;
}
.cd-folding-panel.is-open .fold-right::after {
  transform: translateX(0);
  transition: transform 0.5s 0s, background-color 0.5s 0s;
}
@media only screen and (min-width: 1100px) {
  .cd-item {
    width: 50%;
    float: left;
    transition: transform 0.5s 0.4s;
  }
  .fold-is-open .cd-item {
    transition: transform 0.5s 0s;
    transform: translateX(-400px);
  }
  .fold-is-open .cd-item:nth-of-type(2n) {
    transform: translateX(400px);
  }
}
 
@media only screen and (min-width: 1100px) {
  .cd-folding-panel {
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
  }
  .cd-folding-panel .fold-left,
  .cd-folding-panel .fold-right {
    width: 50%;
    float: left;
    height: 100%;
  }
  .cd-folding-panel .fold-right {
    /* change perspective-origin so that the 2 fold sides have the same vanishing point */
    perspective-origin: 0% 50%;
  }
  .cd-folding-panel .fold-right::after {
    transform-origin: right center;
    transform: translateX(-100%) rotateY(-90deg);
  }
  .cd-folding-panel .fold-left {
    display: block;
    /* change perspective-origin so that the 2 fold sides have the same vanishing point */
    perspective-origin: 100% 50%;
  }
  .cd-folding-panel .fold-left::after {
    transform-origin: left center;
    transform: translateX(100%) rotateY(90deg);
  }
  .cd-folding-panel.is-open .fold-right::after,
  .cd-folding-panel.is-open .fold-left::after {
    transform: translateX(0);
    transition: transform 0.5s 0s, background-color 0.5s 0s;
  }
}
.cd-folding-panel .fold-right {
  perspective-origin: 0% 50%;
}
.cd-folding-panel .fold-left {
  perspective-origin: 100% 50%;
}

事件处理:

/* open folding content */
$('.cd-gallery a').on('click', function(event){
	event.preventDefault();
	openItemInfo($(this).attr('href'));
});
function openItemInfo(url) {
	/* check if mobile or desktop */
	var mq = viewportSize();
	if( $('.cd-gallery').offset().top > $(window).scrollTop() && mq != 'mobile') {
		/* if content is visible above the .cd-gallery - scroll before opening the folding panel */
		$('body,html').animate({
			'scrollTop': $('.cd-gallery').offset().top
		}, 100, function(){ 
           	toggleContent(url, true);
        }); 
 
	} else {
		toggleContent(url, true);
	}
}
 
function toggleContent(url, bool) {
	if( bool ) {
		/* load and show new content */
		$('.cd-fold-content').load(url+' .cd-fold-content > *', function(event){
			$('body').addClass('overflow-hidden');
			$('.cd-folding-panel').addClass('is-open');
			$('.cd-main').addClass('fold-is-open');
		});
 
	} else {
		/* close the folding panel */
		$('.cd-folding-panel').removeClass('is-open')
		$('.cd-main').removeClass('fold-is-open');
		
		/* ...*/
	}
	
}

  • 这是一款效果非常炫酷的jQuery和CSS3 3D折纸面板展开页面特效插件。当用户点击某个导航按钮时,对应内容的面板会像折叠的纸张一样展开,关闭面板时,左右面板又会像纸张一样折叠回去。 纸张折叠效果是当前非常流行的一种网页特效,特别是在一些移动手机的APP中,例如iOS Peek Calendar app。现在,通过 CSS3 transformation 和 transitions,我们可以在浏

  • 摘要: Multimedia technologies are reaching the limits of providing audio-visual media that viewers consume passively. An important factor, which will ultimately enhance the user's experience in terms of

  • Smart Panel 智慧型面板。 Smart Panel的設計是將原本在監視廠端所設計的部份機板及IC,在TFT-LCD後段模組時即整合在面板內,面板廠出貨的產品就已是一個幾乎完整的半成品,只要再加上塑膠外殼及電源線即成為一部LCD監視器,可縮小監視器的體積及降低成本。這種產品的設計模式,省略了中游監視器的製造工程,無形中也壓縮了監視器廠商的生存空間,設計的主控權掌握在LCD廠成份較大。 ht

  • Instead of relying on 2D constructs such as zoom levels, 3D Tiles are based on geometric error for Level-Of-Detail (LOD) selection and a tunable pixel error. This allows performance/visual-quality tun

  • https://www.cs.helsinki.fi/group/goa/mallinnus/3dtransf/3drot.html

  • 内容 针对CSS学习flex部分 #### 针对 Flex items 的特性(Children) - `flex-growth`:伸展值 - `flex-shrink`:可接受的压缩值 - `flex-basis`:元素默认的尺寸值 - `flex`:以上三个值按顺序的缩写 #### 针对 Flex container 的特性(Parent) - `display: flex`:将这个元素

  • http://html5snippet.net/post/14 The problem For one of my Three.js projects i needed loading a 3d model(.js) + texture from different domain than the domain hosting the app itself. Everything i tryed

  • 效果与CSS3 弹性盒子完全一致,参考 https://www.runoob.com/css3/css3-flexbox.html http://note.youdao.com/noteshare?id=d695a94efd762f25c12bd70a14899df1&sub=5F46F9B0B1F944CE8680295DBFBF96F8

  • Frame是框架窗体,有边框的,Panel是面板,无边框,一般把几个Panel加到一个Frame上 Sun公司的定义:Frame是带标题和边框的最顶层窗体;Panel是个最简单的容器类,它提供空间让程序放其它组件,包括其它Panel。 添加到容器中的组件放在一个列表中。列表的顺序将定义组件在容器内的正向堆栈顺序。如果将组件添加到容器中时未指定索引,则该索引将被添加到列表尾部(此后它位于堆栈

 相关资料
  • jQuery提供了一个简单的界面,用于执行各种令人惊叹的效果。 jQuery方法允许我们以最小配置快速应用常用效果。 本教程介绍了创建视觉效果的所有重要jQuery方法。 显示和隐藏元素 显示和隐藏元素的命令几乎是我们所期望的 - show()显示包装集中的元素, hide()隐藏它们。 语法 (Syntax) 这是show()方法的简单语法 - <b>[selector].</b>show( s

  • 本章将讨论effect()方法,它是用于管理jQueryUI视觉效果的方法之一。 effect()方法将动画效果应用于元素,而不必显示或隐藏它。 语法 (Syntax) effect()方法具有以下语法 - .effect( effect [, options ] [, duration ] [, complete ] ) Sr.No. 参数和描述 1 effect 这是一个String,指示用

  • Effect是一个policy rule的结果 Effector 是用于Casbin effector的API MergeEffects() MergeEffects将 enforcer 收集的所有匹配结果合并为一项决定。 例如:Go Effect, explainIndex, err = e.MergeEffects(expr, effects, matches, policyIndex, po

  • 效果是增强图形外观的任何操作。 在JavaFX中,效果是一种应用于节点以在视觉上增强其外观的算法。 Node类的effect属性用于指定效果。 在JavaFX中,您可以为节点设置各种效果,例如bloom, blur和glow 。 这些效果中的每一个都由一个类表示,所有这些类都可以在名为javafx.scene.effect的包中找到。 将效果应用于节点 您可以使用setEffect()方法将效果应

  • 我试图实现shimmer效果的高度为wrap_content,但图像没有加载,我知道为什么它没有加载图像,因为imageView有wrap_content,而shimmer也有wrap_content,但我希望高度应该是wrap_content,而不是固定的。 在shimmer中实现eg 200dp的固定高度后,它工作,但之后图像不加载 我想让它像Pinterest一样根据图像调整高度 post_

  • 启动Tomcat, 应该能看到类似的log信息 2015-04-14 22:33:19,945 net.wendal.nutzbook.quartz.NutQuartzCronJobFactory.init(NutQuartzCronJobFactory.java:33) DEBUG - job define name=CleanNonActiveUserJob cron=0 0/2 * * *

  • 波纹效果是一个外部库,主要用于实现 Material Design 中的点击效果。 应用波纹效果 给按钮添加波纹效果,你只要将 waves-effect 类放到按钮中。如果你想这个波纹效果更白,增加 waves-effect waves-light 作为按钮的类。 <a class="waves-effect waves-light btn-large" href="#">Wave</a> 自定

  • 视差是一种效果,在背景内容或图片在一下情况:相对于前景内容滚动的速度有一个不同的移动速度。查看这个示例获取更好的体会。 视差的 HTML 结构 <div class="parallax-container"> <div class="parallax"><img src="images/parallax1.jpg"></div> </div> 初始化 $(document).ready(funct