jquery设置点击标签,标签滚动到页面顶部

预备知识:

(一)jQuery CSS 操作 - offset() 方法

参考地址:http://www.w3school.com.cn/jquery/css_offset.asp

实例

获得 <p> 元素当前的偏移:

$(".btn1").click(function(){
  x=$("p").offset();
  $("#span1").text(x.left);
  $("#span2").text(x.top);
});

定义和用法

offset() 方法返回或设置匹配元素相对于文档的偏移(位置)。

返回偏移坐标

返回第一个匹配元素的偏移坐标。
该方法返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效。

语法

$(selector).offset()

设置偏移坐标

设置所有匹配元素的偏移坐标。

语法

$(selector).offset(value)

(二)jQuery CSS 操作 - scrollTop() 方法

参考地址:http://www.w3school.com.cn/jquery/css_scrolltop.asp

实例

设置 <div> 元素中滚动条的垂直偏移:
$(".btn1").click(function(){
  $("div").scrollLeft(100);
});

定义和用法

scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。
scroll top offset 指的是滚动条相对于其顶部的偏移。
如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移。

语法

$(selector).scrollTop(offset)

提示和注释

注释:该方法对于可见元素和不可见元素均有效。
注释:当用于获取值时,该方法只返回第一个匹配元素的 scroll top offset。
注释:当用于设置值时,该方法设置所有匹配元素的 scroll top offset。

(三)jQuery 参考手册 - jQuery CSS 操作函数

参考地址:http://www.w3school.com.cn/jquery/jquery_ref_css.asp

css() 设置或返回匹配元素的样式属性。
height()         设置或返回匹配元素的高度。
offset()         返回第一个匹配元素相对于文档的位置。
offsetParent() 返回最近的定位祖先元素。
position() 返回第一个匹配元素相对于父元素的位置。
scrollLeft()         设置或返回匹配元素相对滚动条左侧的偏移。
scrollTop()         设置或返回匹配元素相对滚动条顶部的偏移。
width()         设置或返回匹配元素的宽度。

开始动手:

1.jsp页面标签元素

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<div id="excelgridDIV" style="text-align: center;">
	<div align="left" class="base_title impact1_title">
		<div id = "showDetail">
   		</div>
	</div>	
	<div id="excelgrid" class="mini-datagrid" style="width:100%;height:100%;" url="" fitColumns="false" showSummaryRow="true"
	showPager="false" pageSize="10000" ondrawsummarycell="onDrawSummaryCell" allowResize="false" allowMoveColumn="false">
		<div property="columns" >
	        <div headerAlign="center" type="indexcolumn">序号</div>                
	        <div field="name" width="300" headerAlign="center">指标名称</div>    
	        <div field="unit" width="60" align='center'  headerAlign="center">指标单位</div>
	        <div field="value" width="80px" align='right' headerAlign="center">指标值</div>
		</div>
	</div>
</div>

2.编写js

<script type="text/javascript">
	$("#excelgrid").click(function(){
		var excelgridDIV = $("#excelgridDIV").offset().top;	// - 174
    	$("body").scrollTop(excelgridDIV);
  	});
</script>

效果:点击id为excelgrid的div时,div移到最上方。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用jQuery的`scroll`事件和`:visible`选择器来实现。在滚动事件中,遍历所有的h标签,判断它们是否可见,如果可见,输出它的id。 代码示例: ``` $(document).on('scroll', function() { $('h1:visible').each(function() { console.log($(this).attr('id')); }); }); ``` 请注意,这只是一个示例代码,您可能需要根据您的需求进行调整。 ### 回答2: 实时获取滚动时显示在屏幕上的h标签的id可以通过以下方法实现: 首先,在jQuery中使用`scroll`事件监听滚动事件。当滚动事件发生时,会触发绑定的回调函数。 然后,我们可以通过判断每个h标签是否在屏幕可见区域内来确定其id。在jQuery中,可以使用`offset()`方法获取元素相对于文档的偏移位置,以及`scrollTop()`方法获取滚动条的垂直位置。 具体步骤如下: 1. 绑定滚动事件: ```javascript $(window).scroll(function() { // 在这里编写代码,实时获取滚动时显示在屏幕上的h标签的id }); ``` 2. 获取滚动条的垂直位置: ```javascript var scrollPosition = $(window).scrollTop(); ``` 3. 遍历所有h标签,判断是否在屏幕可见区域内: ```javascript $('h').each(function() { var $h = $(this); var hTop = $h.offset().top; var hBottom = hTop + $h.outerHeight(); if (hTop >= scrollPosition && hBottom <= (scrollPosition + window.innerHeight)) { // h标签屏幕可见区域内 var hId = $h.attr('id'); console.log(hId); } }); ``` 上述代码会遍历所有h标签,如果某个h标签顶部位置大于等于滚动条位置,并且底部位置小于等于滚动条位置加上屏幕高度,则认为该h标签屏幕可见区域内。此时,可以通过`attr('id')`方法获取h标签的id并输出。 通过以上代码,我们可以实时获取滚动时显示在屏幕上的h标签的id。 ### 回答3: 在jQuery中,我们可以使用滚动事件和选择器来实时获取滚动时显示在屏幕上的h标签的id。 首先,我们需要使用滚动事件来监听页面滚动。我们可以使用`$(window).scroll()`来绑定滚动事件,并在事件处理程序中编写代码来处理滚动事件。 在滚动事件处理程序中,我们可以使用选择器来选择屏幕中可见的h标签。我们可以使用`:visible`选择器来选择可见的元素,并使用`$("h:visible")`来选择可见的h标签元素。 然后,我们可以使用`.each()`函数来遍历每个可见的h标签,并从中获取id属性。我们可以使用`.attr("id")`来获取元素的id属性值。 最后,我们将获取到的id属性值进行进一步处理或使用。例如,我们可以将其显示在控制台上或将其插入到页面的其他元素中。 以下是完整的代码示例: ```javascript $(window).scroll(function() { $("h:visible").each(function() { var id = $(this).attr("id"); // 对id进行进一步处理或使用 console.log(id); // 或者将id插入到其他元素中 $("#otherElement").text(id); }); }); ``` 这段代码可以在页面滚动时实时获取屏幕上可见的h标签的id,并将其显示在控制台上或插入到其他元素中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值