滑动窗帘按钮操作
Slide curtain button action
提前感谢您的帮助。
我想到了这个窗帘动画代码,我做了一些更改,其中之一是有一个按钮来滑动窗帘,并显示后面的内容。
我尝试添加方法scrollTop,但没有工作。
function curtain() {
var windowHeight = $( window ).height();
var scrollPosition = $( document ).scrollTop();
var value = - ( windowHeight );
var mainHeight = $( "#main" ).height();
var bodyHeight = windowHeight + mainHeight;
if (windowHeight - scrollPosition <= 0) {
$( "#curtain" ).css({position: "fixed", top: value});
$( "#main" ).css({position: "static", marginTop: windowHeight});
$('body').height(mainHeight);
}
else {
$( "#curtain" ).css({position: "static", height: windowHeight});
$( "#main" ).css({position: "fixed", top: value, marginTop: windowHeight});
$('body').height(bodyHeight);
}
}
$(document).ready(curtain);
$(window).resize(curtain);
$(window).scroll(curtain);
* {
margin: 0;
padding: 0;
}
#curtain {
z-index: 1;
position: relative;
}
#curtain p {
position: absolute;
top: 4em;
width: 100%;
text-align: center;
}
#curtain a {
background-color: white;
color: black;
text-decoration: none;
padding: .8em 1em;
border-radius: 4px
}
#curtain img {
width: 100%;
height: 100Vh;
}
#main {
width: 100%;
z-index: -1;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="curtain">
<p>
<a href="#" class="curtain-action">Show me the content</a>
</p>
<img src="http://dummyimage.com/600x400/000/fff">
</div>
<div id="main">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae metus tellus. Curabitur elementum mauris nec ligula dictum hendrerit. Integer ut magna congue, fermentum risus sed, facilisis erat. Proin mattis eros ac urna tincidunt ornare. Nulla non sapien volutpat, consequat erat id, ornare enim. Fusce metus enim, sodales id semper vel, gravida ut ante. Nulla rhoncus tortor neque, sit amet tincidunt nibh ullamcorper quis. Nulla ac erat et ipsum semper euismod. Vestibulum at fermentum neque. Sed congue lorem eros, scelerisque cursus magna auctor ut. Ut vitae sagittis urna. Duis id convallis velit.</p>
<p>Donec vestibulum est tempus, dictum mi sit amet, blandit orci. Cras mattis luctus augue. Integer varius venenatis neque. Nullam tempor dignissim massa, a vehicula dolor aliquam vestibulum. Maecenas ac neque a massa ultricies condimentum. Sed vehicula eleifend elit. Nunc blandit justo malesuada sagittis mollis. Vestibulum turpis massa, vestibulum ac libero nec, lobortis congue nisl.</p>
<p>Sed elementum eleifend tellus, in dapibus ligula volutpat sed. Curabitur rhoncus eu sapien placerat commodo. Aliquam posuere turpis in mauris pulvinar pulvinar. Praesent sed nisi vitae augue imperdiet dictum. Morbi ornare eros id mauris ultrices, vestibulum posuere ante tincidunt. Aliquam erat volutpat. Quisque erat turpis, faucibus at eros non, ornare fringilla lorem. Sed mollis cursus lectus sit amet consequat. Duis in sodales leo.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae metus tellus. Curabitur elementum mauris nec ligula dictum hendrerit. Integer ut magna congue, fermentum risus sed, facilisis erat. Proin mattis eros ac urna tincidunt ornare. Nulla non sapien volutpat, consequat erat id, ornare enim. Fusce metus enim, sodales id semper vel, gravida ut ante. Nulla rhoncus tortor neque, sit amet tincidunt nibh ullamcorper quis. Nulla ac erat et ipsum semper euismod. Vestibulum at fermentum neque. Sed congue lorem eros, scelerisque cursus magna auctor ut. Ut vitae sagittis urna. Duis id convallis velit.</p>
<p>Donec vestibulum est tempus, dictum mi sit amet, blandit orci. Cras mattis luctus augue. Integer varius venenatis neque. Nullam tempor dignissim massa, a vehicula dolor aliquam vestibulum. Maecenas ac neque a massa ultricies condimentum. Sed vehicula eleifend elit. Nunc blandit justo malesuada sagittis mollis. Vestibulum turpis massa, vestibulum ac libero nec, lobortis congue nisl.</p>
<p>Sed elementum eleifend tellus, in dapibus ligula volutpat sed. Curabitur rhoncus eu sapien placerat commodo. Aliquam posuere turpis in mauris pulvinar pulvinar. Praesent sed nisi vitae augue imperdiet dictum. Morbi ornare eros id mauris ultrices, vestibulum posuere ante tincidunt. Aliquam erat volutpat. Quisque erat turpis, faucibus at eros non, ornare fringilla lorem. Sed mollis cursus lectus sit amet consequat. Duis in sodales leo.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae metus tellus. Curabitur elementum mauris nec ligula dictum hendrerit. Integer ut magna congue, fermentum risus sed, facilisis erat. Proin mattis eros ac urna tincidunt ornare. Nulla non sapien volutpat, consequat erat id, ornare enim. Fusce metus enim, sodales id semper vel, gravida ut ante. Nulla rhoncus tortor neque, sit amet tincidunt nibh ullamcorper quis. Nulla ac erat et ipsum semper euismod. Vestibulum at fermentum neque. Sed congue lorem eros, scelerisque cursus magna auctor ut. Ut vitae sagittis urna. Duis id convallis velit.</p>
<p>Donec vestibulum est tempus, dictum mi sit amet, blandit orci. Cras mattis luctus augue. Integer varius venenatis neque. Nullam tempor dignissim massa, a vehicula dolor aliquam vestibulum. Maecenas ac neque a massa ultricies condimentum. Sed vehicula eleifend elit. Nunc blandit justo malesuada sagittis mollis. Vestibulum turpis massa, vestibulum ac libero nec, lobortis congue nisl.</p>
<p>Sed elementum eleifend tellus, in dapibus ligula volutpat sed. Curabitur rhoncus eu sapien placerat commodo. Aliquam posuere turpis in mauris pulvinar pulvinar. Praesent sed nisi vitae augue imperdiet dictum. Morbi ornare eros id mauris ultrices, vestibulum posuere ante tincidunt. Aliquam erat volutpat. Quisque erat turpis, faucibus at eros non, ornare fringilla lorem. Sed mollis cursus lectus sit amet consequat. Duis in sodales leo.</p>
</div>
为此,您必须更改以下几点。检查演示 - 小提琴。
- 向按钮添加点击处理程序:
$('.curtain-action').click( curtain );
-
将
curtain
函数代码替换为:$('#curtain').animate( {top: '-'+$('#curtain').height() }, 1000 )
-
将
curtain
div css 更改为:#curtain { z-index: 1; position: absolute; width: 100%; }
相关文章:
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 如何在ios上将按钮操作捕获到javascript中
- 命令按钮操作
- Laravel按钮操作
- 如何在我的网页中通过按钮操作添加书签
- HTML 按钮操作在 Safari 中不起作用
- javascript:我希望根据从数据库中获取的循环更改单选按钮操作
- Facebook 发送按钮 - 操作弹出式按钮
- Ember.js – 将按钮操作从 #each 循环绑定到其自己的模型
- 从 jQuery 验证中动态删除 submitHandler,以允许正常的PayPal“捐赠”按钮操作
- 滑动窗帘按钮操作
- 无法使用缩放按钮操作图像
- 如何找到响应按钮操作的 JavaScript 代码
- 如何使用angularjs或jquery将每个点击的按钮操作保存在json文件/对象中
- 如何在uiwebview中捕获javascript按钮操作
- 自动触发按钮操作,而不是按下它
- CRM 2013中功能区按钮操作的条件执行
- 向Quill添加自定义按钮操作
- Ember.js过滤内容并使用按钮操作
- 单击两次以执行带有需求的按钮操作