javascript – 按’j’时滚动到下一个
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 按’j’时滚动到下一个,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1706字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 按’j’时滚动到下一个](/upload/InfoBanner/zyjiaocheng/794/d7818db2751f4e7fae1be94d5df60b95.jpg)
我想你们都在facebook上看过这个功能.当您按下j时,滚动位置会跳到下一个故事,当您按k时,它会滚动到上一个故事.
现在,如果我有很多div与类.story(在片段中它们都具有相同的高度;但实际上,它们将是不同的),我如何浏览它们(滚动到下一个和上一个.故事)在Facebook上按j和k?
body{
background-color:#ecf0f1;
}
.story
{
background-color: #fff;
border-radius: 5px;
height: 500px;
margin: 20px auto;
width: 70%;
}
<div class="story">
</div>
<div class="story">
</div>
<div class="story">
</div>
<div class="story">
</div>
<div class="story">
</div>
<div class="story">
</div>
<div class="story">
</div>
<div class="story">
</div>
<div class="story">
</div>
<div class="story">
</div>
解决方法:
$(document).keypress(function(e){
var forward;
if (e.keyCode == 106) {
forward = true;
} else if (e.keyCode == 107) {
forward = false;
} else {
return true;
}
if (!$(".story.current").length) {
$(".story:first").addClass("current");
}
if ($(".story.current").length) {
var current = $(".story.current");
var next;
if (forward) {
next = current.next(".story")
} else {
next = current.prev(".story");
}
if (next.length) {
current.removeClass("current");
next.addClass("current");
} else {
alert("nope.");
}
}
$("html, body").animate({ scrollTop: $(".current").offset().top }, 100);
});
body{
background-color:#ecf0f1;
}
.story
{
background-color: #fff;
border-radius: 5px;
height: 500px;
margin: 20px auto;
width: 70%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="story">
a
</div>
<div class="story">
b
</div>
<div class="story">
c
</div>
<div class="story">
d
</div>
<div class="story">
e
</div>
<div class="story">
f
</div>
<div class="story">
g
</div>
<div class="story">
h
</div>
<div class="story">
i
</div>
<div class="story">
j
</div>
内容总结
以上是互联网集市为您收集整理的javascript – 按’j’时滚动到下一个全部内容,希望文章能够帮你解决javascript – 按’j’时滚动到下一个所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】