我想要一个推拉门的效果,用户点击一个链接,并在当前内容下降,并揭示新内容。克里斯凯里在原型中做到了这一点,但我想使用jQuery。有没有插件或教程?我看到一个,但它非常基本。如何使滑动门的效果?
回答
这里有一个基本的例子,让你开始:
试试看:http://jsfiddle.net/yuF8S/3/(更新切换内容)
JS
$('a').click(function() {
var index = $(this).index();
$('#door').animate({top:0}, 500, function() {
$('#content > .contentItem').hide()
.eq(index).show();
$(this).animate({top: -200}, 500);
});
});
HTML
<div id='container'>
<div id='content'>
<div class='contentItem'>content display 1</div>
<div class='contentItem'>content display 2</div>
<div class='contentItem'>content display 3</div>
</div>
<div id='door'></div>
</div>
<div id='links'>
<a href='#'>content 1</a>
<a href='#'>content 2</a>
<a href='#'>content 3</a>
</div>
CSS
#container {
float:left;
width: 200px;
height: 300px;
clip: auto;
overflow: hidden;
position: relative;
}
#content {
width: 100%;
height: 200px;
background: yellow;
position: absolute;
bottom: 0;
}
.contentItem {
display:none;
}
.contentItem:first-child {
display:block;
}
#door {
width: 100%;
height: 100%;
position: absolute;
top: -200px;
background: black;
}
#links {
float: left;
}
a {
display: block;
}
$("#elementId").click(function(){
$(this).slideUp();
});
了slideDown()是倒数。
强制性[文档参考](http://api.jquery.com/category/effects/)链路。 – Phrogz 2010-11-17 18:33:40
'slideUp()'将隐藏显示:none的元素,网站上显示的效果是一个移动的div,而不是一个消失的效果。 – 2010-11-17 18:37:24
是的。因此幻灯片在名称。重点是一旦动画完成,div需要保持可见并始终保持相同的高度,另一个原因是“slideUp()”不合适。 – 2010-11-17 18:49:56
基本上想要使用animate function点击新位置时移动绝对位置的div。
$('#moving-div').click(function() {
if ($(this).position().top < 150) {
$(this).animate({
top: 200px
}, 1000);
} else {
$(this).animate({
top: 100px
}, 1000);
}
});
这会是div还是这是什么?对不起,我在这个 – MyHeadHurts 2010-11-17 18:39:24
真的很新,没问题,我的代码是相当一般的。 jQuery首先选择你想要移动的div(在代码的第一行),然后绑定一个函数,当一个点击甚至发生在div上时被执行。当它发生时,函数代码决定是否给this赋值(这是一个点击事件绑定到的移动div,当然你必须自己决定这些边界) – 2010-11-17 18:45:10
正在发生的事情有,就是他有三个独立的DIV组成三个菜单中,只有一个是一次明显的。覆盖所有这些菜单DIV是一个“门”,因为他称之为封面,如果您正确设置定位,它会比菜单DIV更高的z-index,因此出现在它的顶部。盖子可以拉伸高度,导致菜单顶部的“门”增长。
的过程是:
- 让按钮上的点击事件触发动画
- 动画()在其默认大小盖的高度提高,以完全覆盖菜单
- 隐藏()当前可见的菜单,并显示()一个可见
- animate()盖的高度减少到默认大小
如果您有以下HTML(使第一个菜单最初可见,其他人隐藏,并且封面位于可见菜单正上方的“打开”高度处,并具有更高的z-index覆盖可见菜单):
<div id="menu-container">
<div id="cover"></div>
<div id="menu-contact" class="menu"></div>
<div id="menu-home" class="menu"></div>
<div id="menu-products" class="menu"></div>
</div>
<div id="buttons">
<div id="contact" class="menu-button"></div>
<div id="home" class="menu-button"></div>
<div id="products" class="menu-button"></div>
</div>
那么你的jQuery的可能是:
$('.menu-button').click(function() {
var cMenuButton = $(this);
var cMenuID = cMenuButton.attr('id');
var coverHeight = $('#cover').height();
var cVisibleMenu = $('.menu:visible');
var cVisibleHeight = cVisibleMenu.height();
$('#cover').animate({'height': coverHeight + cVisibleHeight}, 600, 'linear', function() {
$('.menu').hide();
$('#menu-' + cMenuID).show();
var newMenuHeight = $('#menu-' + cMenuID).height();
var coverHeight = $('#cover').height();
$('#cover').animate({'height': coverHeight - newMenuHeight}, 600, 'linear');
});
});
的是以毫秒为单位的过渡,可以改变,以适应速度。这比你给出的例子稍微复杂一点,因为我决定展示如何处理可变高度菜单将是有用的。如果菜单的高度是固定的,则可以取消高度的计算并仅使用开放和封闭的高度。
patrcik DW做一个很好的例子开始,任何方式对你说:
上升显露新内容
因此,这里仅仅是一个主意,让你这是怎么回事:
的javascript:
$('p').hide();
$('a').click(function() {
$('#door').animate({top:0}, 500, function() {
$(this).animate({top: -200}, 500);
$('p').show();
});
});
HTML:
<a href='#'>click me</a>
<div id='container'>
<div id='content'>
<p>some content to display</p>
</div>
<div id='door'></div>
</div>
CSS:
#container {
width: 200px;
height: 300px;
clip: auto;
overflow: hidden;
position: relative;
}
#content {
width: 100%;
height: 200px;
background: yellow;
position: absolute;
bottom: 0;
}
#door {
width: 100%;
height: 100%;
position: absolute;
top: -200px;
background: black;
}
它是完全一样的patrcik's代码隐藏()和show()函数。
祝你好运!
尝试here
- 1. 如何使滑动门效果提交按钮?
- 2. 如何使滑动效果 - jQuery滑块
- 3. 如何使用jQuery的滑动效果
- 4. 滑动效果
- 5. Android滑动效果动画
- 6. 滑动效果为uiimageviews
- 7. js水平滑动效果
- 8. 滑动效果灵敏度
- 9. tabhost实现滑动效果
- 10. 出现滑动效果?
- 11. 更改NIVO滑块滑动效果
- 12. 使用jQuery复制Flash滑动效果
- 13. 如何在图像滑块中制作滑动效果?
- 14. 如何在Bootstrap模态中使用数据滑动效果?
- 15. 苹果风格文字滑动效果
- 16. 带尾巴的滑动门
- 17. jQuery的表列的滑动效果
- 18. 使用Core Animation的开门效果
- 19. Winforms的翻转/滑动效果
- 20. jQuery的向下滑动效果
- 21. 反应js中的滑动效果
- 22. jQuery的滑动效果[触摸]
- 23. 实现滑动效果的一个UIView
- 24. 如何从本网站创建拖动和滑动效果?
- 25. 我该如何做到“改变视角”的滑动效果?
- 26. 你如何创建这样的滑动效果?
- 27. 如何完成HTML文本元素的滑动过渡效果?
- 28. 输入按钮使用滑动门CSS
- 29. 滑动菜单使用部门
- 30. CSS滑动门故障
WOW你在哪找到的?寻找类似的东西 – MyHeadHurts 2010-11-17 18:40:57
@NEW:我刚刚做到了,它的确很简单 – user113716 2010-11-17 18:44:06
缺少的唯一东西是当“门”完全“关闭”时切换旧内容和新内容 – jball 2010-11-17 18:50:32