首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用jquery滚动到<div>中的特定<p>

使用jquery滚动到<div>中的特定<p>
EN

Stack Overflow用户
提问于 2018-02-28 13:48:55
回答 2查看 124关注 0票数 1

我正在编写一个简单的聊天应用程序,由包含聊天消息(每个聊天消息是一个段落< p>chatmessage< /p>)的可滚动div组成。加载页面时,div会显示10条最新消息。我想要实现的是,如果我向上滚动聊天div,它将预先添加10条先前的消息,并自动滚动它,以便最后一条预先添加的消息将出现在div窗口的顶部。

HTML看起来像这样,只是为了理解这个想法:

代码语言:javascript
运行
AI代码解释
复制
            <div id="chatscrollbox" >
                <div id="chatcontent" >
                    <p>10</p>
                    <p>9</p>
                    <p>8</p>
                    <p>7</p>
                    <p>6</p>
                    <p>5</p>
                    <p>4</p>
                    <p>3</p>
                    <p>2</p>
                    <p>1</p>
                </div>
            </div>

向上滚动div,它将从11到20添加消息,内容从上到下的阅读现在看起来是: 20,19,18...3,2,1。

一切都正常,除了我不知道如何用jquery将div滚动到

元素(没有名字,没有类)。在jquery中有这样的东西吗:滚动到X-

div中的元素?或者,如果没有这样的命令,如何实现它?在我的例子中,我想滚动到第11个元素。谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-02-28 14:03:31

由于您的p标记是<div id="chatcontent" >的直接后代,因此您可以创建一个p数组,如下所示:

代码语言:javascript
运行
AI代码解释
复制
let nthP = $("#chatcontent").children("p");

您也可以直接使用选择器获取您要查找的p

代码语言:javascript
运行
AI代码解释
复制
let myP = $("#chatcontent").find("p:eq(60)");

一旦你有了你想要的段落,只需滚动到它。

代码语言:javascript
运行
AI代码解释
复制
 $('html, body').animate({
      // 60 represents the index of the p you want. Change it...
      // Or use a more specific selector to only grab the one you want (see above)
      scrollTop: $(nthP[60]).offset().top
 }, 2000);

下面是一个有效的演示:

代码语言:javascript
运行
AI代码解释
复制
let nthP = $("#chatcontent").children("p");
$('html, body').animate({
  scrollTop: $(nthP[60]).offset().top
}, 2000);
代码语言:javascript
运行
AI代码解释
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="chatscrollbox">
  <div id="chatcontent">
    <p>10</p>
    <p>9</p>
    <p>8</p>
    <p>7</p>
    <p>6</p>
    <p>5</p>
    <p>4</p>
    <p>3</p>
    <p>2</p>
    <p>1</p>
    <p>10</p>
    <p>9</p>
    <p>8</p>
    <p>7</p>
    <p>6</p>
    <p>5</p>
    <p>4</p>
    <p>3</p>
    <p>2</p>
    <p>1</p>
    <p>10</p>
    <p>9</p>
    <p>8</p>
    <p>7</p>
    <p>6</p>
    <p>5</p>
    <p>4</p>
    <p>3</p>
    <p>2</p>
    <p>1</p>
    <p>10</p>
    <p>9</p>
    <p>8</p>
    <p>7</p>
    <p>6</p>
    <p>5</p>
    <p>4</p>
    <p>3</p>
    <p>2</p>
    <p>1</p>
    <p>10</p>
    <p>9</p>
    <p>8</p>
    <p>7</p>
    <p>6</p>
    <p>5</p>
    <p>4</p>
    <p>3</p>
    <p>2</p>
    <p>1</p>
    <p>10</p>
    <p>9</p>
    <p>8</p>
    <p>7</p>
    <p>6</p>
    <p>5</p>
    <p>4</p>
    <p>3</p>
    <p>2</p>
    <p>1</p>
    <p>10</p>
    <p>9</p>
    <p>8</p>
    <p>7</p>
    <p>6</p>
    <p>5</p>
    <p>4</p>
    <p>3</p>
    <p>2</p>
    <p>1</p>
  </div>
</div>

编辑

要只滚动溢出的div而不使用动画,只需在div上调用scrollTop

代码语言:javascript
运行
AI代码解释
复制
$("#chatcontent").scrollTop($(myP).offset().top);

下面是这个例子的a working fiddle

票数 1
EN

Stack Overflow用户

发布于 2018-02-28 14:02:25

您可以使用位置的散列部分导航到具有ids的页面元素。

我使用setTimeout只是为了演示滚动到。

代码语言:javascript
运行
AI代码解释
复制
setTimeout(function(){window.location.hash = "p1";}, 3000);
代码语言:javascript
运行
AI代码解释
复制
<div id="chatscrollbox" >
    <div id="chatcontent" >
        <p id="p10">10</p>
        <p id="p9">9</p>
        <p id="p8">8</p>
        <p id="p7">7</p>
        <p id="p6">6</p>
        <p id="p5">5</p>
        <p id="p4">4</p>
        <p id="p3">3</p>
        <p id="p2">2</p>
        <p id="p1">1</p>
    </div>
</div>

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49031116

复制
相关文章
easy的jsp的增删改查在一个jsp页面上
easy的jsp的增删改查在一个jsp页面上
Java架构师必看
2021/05/14
4.7K0
直接在jsp页面上使用flex标签
http://download.macromedia.com/pub/labs/flex2_tag_library_jsp/flex2_tag_library_for_jsp.zip
一笠风雨任生平
2019/08/02
8490
springboot+jsp jsp页面在WEB-INF
项目结构 application.yml spring: mvc: view: #jsp页面前缀 prefix: /WEB-INF/ #jsp页面后
用户5899361
2020/12/07
14.8K0
springboot+jsp jsp页面在WEB-INF
jsp跳转jsp----------和------------jsp跳转servlet跳转jsp
2.也可以在上面先得到前一个jsp页面传来的参数,再讲参数放到request或者其他域中, 然后使用${username}得到
2020/10/23
21.2K0
springboot+jsp jsp页面在WEB-INF下
spring: mvc: view: #jsp页面前缀 prefix: /WEB-INF/ #jsp页面后缀 suffix: .jsp #静态资源位置 static-path-pattern: /webapp/** resources: static-locations: classpath:/webapp
用户5899361
2019/07/25
7K0
JSP基础--JSP入门
JSP(Java Server Pages)是JavaWeb服务器端的动态资源。它与html页面的作用是相同的,显示数据和获取数据。
eadela
2019/09/29
16.6K0
JSP基础--JSP入门
JSP二:掌握JSP
1、String getParameter(String key) 获取客户端传来的参数。
乐心湖
2020/07/31
19.1K0
JSP二:掌握JSP
JSP一:理解JSP
JSP 本质上就是⼀个 Servlet,JSP 主要负责与⽤户交互,将最终的界⾯呈现给⽤户。
乐心湖
2020/07/31
17.2K0
JSP一:理解JSP
JavaWeb——JSP入门学习(JSP基本概念、JSP脚本、JSP内置对象)
本章内容只对JSP内容做入门介绍,是为了会话技术的Cookie和Session内容的承接,后续再写文章详细介绍JSP。
Winter_world
2020/09/25
15.3K0
JavaWeb——JSP入门学习(JSP基本概念、JSP脚本、JSP内置对象)
jsp web应用开发_JSP页面
1. 动态网页是指服务器端运行的程序或者网页,它们会随不同客户,不同时间,返回不同的内容。
全栈程序员站长
2022/09/27
17.7K0
JSP
window下Tomcat的下载安装及配置 1、安装 2、基本语法 3、项目导出及部署 4、JSP注释 1、安装 绿色软件,下载解压即安装成功。 安装目录: bin:存放启动和关闭tomcat的脚本 conf:存放tomcat服务器的各种配置文件 lib:存放tomcat的依赖jar包 logs:存放tomcat执行时生成的日志文件 temp:存放一些临时文件 webapps:存放web应用 work:存放一些中间文件 LICENSE NOTTICE tomcat.ico Uninstall.exe配置环
一点儿也不潇洒
2018/08/07
9.8K0
JSP
它是在传统的网页HTML文件(*.htm,*.html)中插人Java程序段和JSP标记
木瓜煲鸡脚
2019/08/22
11.3K0
JSP
jsp
之前聊过用java处理web请求,处理cookie和session等等,但是唯独没有提及如何返回信息。作为一个web程序,肯定需要使用HTML作为用户界面,这个界面需要由服务端返回。返回信息可以使用HttpResponse中的OutputStream对象来写入数据。但是既要在里面写入HTML,又要写入相应的值,造成程序很难编写,同时HTML代码长了也不容易维护。我们需要一种机制来专门处理返回给浏览器的信息。JSP就是用来专门处理这种需求的。
Masimaro
2019/11/18
11K0
jsp 实栗 jsp + jdbc 登录
一个表单页,输入用户登录和密码,然后信息提交到jsp页面进行验证,如果可以服务器跳转到登录成功页,失败,跳转到错误页
mySoul
2019/03/10
9.2K0
[javaEE] jsp入门
生成一个xxx_jsp.java的Servlet文件,jsp的脚本片段放在了_jspService()方法里面
唯一Chat
2019/09/10
5K0
JSP 语法
脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。(其中声明的变量为局部变量)
希希里之海
2018/08/10
5.9K0
JSP语法
① 注释元素 (Comments Elements) 1. <!-- comment [<%= expression >] --> 标准的HTML注释。JSP容器会将该注释发往客户端浏览器,但不在浏览器中显示,可以在HTML源文件中查看。 comment - 注释内容 expression - 可选的java表达式,JSP容器会对表达式求值并将结果作为注释内容发往客户端 2. <%-- comment --%> JSP注释,JSP容器不会对该形式的注释进行编译,也不会将它发
用户1112962
2018/07/04
3.2K0
jsp 技术
JSP(全称 Java Server Pages)是由 Sun 公司专门为了解决动态生成 HTML 文档的技术。
一个风轻云淡
2022/11/15
3.2K0
jsp 技术
JSP总结
language属性:用来设置JSP页面使用的语言,默认值是java,而且只有一个值就是java
一头小山猪
2020/06/15
3K0
JSP学习
参考知乎:https://www.zhihu.com/question/37962386/answer/87758781
杨肆月
2019/08/15
4.4K0
JSP学习

相似问题

JSP动态包含标记

11

JSP为JSP标记库提供动态值

23

JSP动态更改包含页

32

jsp -在jsp页面上显示tomcat配置

20

其他JSP页在同一jsp页中打开

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档