对于我正在开发的网站,当您单击隐藏的 div 下拉信息时,我非常想使用与此处http://shop.jack-hughes.com/类似的下拉效果。
我不知道它是否只使用 CSS3 或 Javascript/CSS 谁能指出我正确的方向或告诉我效果的名称;我想很简单,但我一生都找不到另一个例子。
对于我正在开发的网站,当您单击隐藏的 div 下拉信息时,我非常想使用与此处http://shop.jack-hughes.com/类似的下拉效果。
我不知道它是否只使用 CSS3 或 Javascript/CSS 谁能指出我正确的方向或告诉我效果的名称;我想很简单,但我一生都找不到另一个例子。
他们有一小段 Javascript 可以做到这一点,可以在任何网站上轻松完成。基本上,您需要在页面顶部隐藏一个 div,单击链接后,您只需显示该 div。
他们使用的代码是:
Event.observe('info', 'click', function(){
$('aside').toggleClassName('open');
});
但是如果你看一下jquery,你会发现元素的操作很容易做到。
他们另外使用的一件事是他们open
班级中的 CSS3 过渡:
.aside {
transition: all 0.3s ease-out 0s
}
这就是导致平滑过渡效果的原因。因此,您可以使用 jQuery 或 CSS3 过渡,两者都提供相同的效果。我会说 CSS3 过渡更好,但是如果某些浏览器不支持过渡,您将再次疏远它们。
可能使用jQuery。就像是:
CCS3和js的结合
这是您引用的网站中使用的内容
js:
Event.observe(window, 'load', function () {
Event.observe('info', 'click', function () {
$('aside').toggleClassName('open');
});
});
Event.observe
来自 原型框架 - http://prototypejs.org/doc/latest/dom/Event/observe/
例如,jQuery( http://jquery.com/ ) 中的等价物是:
$(document).ready(function () {
$('.info').click(function () {
$('aside').toggleClass('open');
})
});
CSS:
aside.open {
height: 21.25em;
}
aside {
position: relative;
background-color: #3f4642;
width: 100%;
color: white;
letter-spacing: 0.1em;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
HTML 元素是<aside>....</aside>
,但如果您选择 div,则没有区别。
除了 Deif 发现的内容之外,他们还使用 CSS 过渡
transition: all 0.3s ease-out;
并且还为他们的“aside”类使用“::selection”伪类,参见developer.mozilla.org