`
zhanglun1225
  • 浏览: 56855 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jquery使用div实现滚动条效果

阅读更多

查了些div实现滚动条的效果,看了很多,大多都不符合要求。

要求如下:

1.div大小固定,div中内容大小不固定

2.鼠标移动到内容上时,如果内容太大,则出现滚动条,并可以拖动查看,而内容宽度不变。否则不显示滚动条。

 

如果纯粹的使用div的overflow-y:scroll,那么内容的宽度会变小。

 

废话不多说,直接上代码。

在此多谢以下文章的作者,出处如下:

1.http://www.58mb.com/info/design/Javascript/152185022063.html

2.http://sc.xueit.com/down/sc1220.shtml

 

文章中导入jquery-1.4.1.min.js

 

js代码如下:

 

<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script> 
<script type="text/javascript"> 
	var check = false;//是否可移动
	$(document).ready(function(){
		var h = $("#scrollContent").height();
	 	var ih = $("#divcontent").height();
	 	var mh = parseInt(h*h/ih);
		var h1 = parseInt($("#ypThumbContainer").height())-mh;//图片与div的高度差值
		var h2 = parseInt(ih - h);//内容与边框div的高度差值
	 	
	 	$("#scrollContent").hover(function(){
	 	 		if(ih > h){
		 	 		$("#ypThumbContainer").show("slow");
	 	 	 		$("#ypThumb").find("img").height(mh);
	 	 	 		$("#ypThumb").show("slow");

	 	 	 		//begin
	 	 	 		var oDiv = document.getElementById("ypThumbContainer");
					var oDiv2 = document.getElementById("ypThumb");
					var mouseStart={};
					var divStart={};
					var rightStart={};
					var bottomStart={};
					
					$(oDiv2).mousedown(function(ev){
						var oEvent = ev||event;
						mouseStart.x = oEvent.clientX;
						mouseStart.y = oEvent.clientY;
						divStart.x = parseInt($(oDiv2).css("left"));
						divStart.y = parseInt($(oDiv2).css("top"));
						
						
						if(oDiv2.setCapture){
							oDiv2.setCapture();
							oDiv2.onmousemove = doDrag3;
							oDiv2.onmouseup = stopDrag3;
						}else{
							$(oDiv).bind("mousemove",doDrag3).bind("mouseup",stopDrag3);
						}
						oEvent.preventDefault();
					});
					
					function doDrag3(ev) {
						var oEvent = ev||event;
						var t = oEvent.clientY-mouseStart.y+divStart.y;
						if(t < 0){
							t = 0;
							
						}else if(t >= $(oDiv).height()-$(oDiv2).height()){
							t = $(oDiv).height()-$(oDiv2).height();
						}
						$(oDiv2).css("top",t+"px");
						$("#divcontent").css("top",-(t*h2/h1)+"px");
					}
					
					function stopDrag3(){
						if(oDiv2.releaseCapture){
							oDiv2.releaseCapture();
							oDiv2.onmousemove = null;
							oDiv2.onmouseup = null;
						}else{
							$(oDiv).unbind("mousemove",doDrag3).unbind("mouseup",stopDrag3);
						}
					}
	 	 	 		//end
	 	 		}
	 	 	},function(){
	 	 		$("#ypThumbContainer").hide("slow");
	 	 		$("#ypThumb").hide("slow");
	 	 });
	});


</script>

 

 

html代码如下:

 

<div style="width:150px;overflow:hidden;height:170px;border:1px #000 solid;z-index:1; position:relative;" id="scrollContent">
	<div class="thumbContainer" id="ypThumbContainer" style="Z-INDEX: 3; right:0px; WIDTH: 9px; POSITION: absolute; TOP: 0px; HEIGHT: 170px;border:1px #000 solid; display:none">
	  <div class="thumb" id="ypThumb" style="POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: #ffd200;">
		<img class="thumbImg" id="ypThumbImg" height="50" src="images/thumb.gif" width="9" style="cursor:pointer;"/><br />
		</div>
	</div>
	<div id="divcontent" style="position:absolute;">
	中新网8月12日电 据最高人民法院网站消息,最高人民法院新闻发言人孙军工今日介绍,新婚姻法首次明确离婚案件中一方婚前贷款购买的不动产应归产权登记方所有,但应对参与还贷的配偶给予公平合理的补偿。
	</div>
</div>

 

分享到:
评论

相关推荐

    jquery滚动条-2

    在“jquery使用div实现滚动条效果.doc”中,可能会介绍如何通过CSS和jQuery将一个普通的div元素转换为具有滚动功能的容器。通过调整CSS样式,我们可以改变滚动条的外观,使其与网站设计保持一致。同时,jQuery可以...

    jqueryDIV滚动条

    jquery滚动条jquery滚动条jquery滚动条jquery滚动条jquery滚动条jquery滚动条jquery滚动条jquery滚动条jquery滚动条jquery滚动条jquery滚动条jquery滚动条jsDIV滚动条jsDIV滚动条jsDIV滚动条

    jQuery实现将div的滚动条滚动到指定位置

    在网页开发中,jQuery是一个非常...总的来说,通过jQuery的`animate()`方法,我们可以轻松地实现div滚动条的动态控制,为用户提供更加友好的交互体验。这个功能在展示长列表、分页内容或者需要聚焦某个部分时特别有用。

    用jquery改变DIV的滚动条的样式

    本篇文章将深入探讨如何使用`jQuery`来改变`DIV`元素的滚动条样式,包括滚动滑块和上下按钮的图片。 首先,我们要了解浏览器默认的滚动条样式通常是单调且不一致的。为了改变这种状况,我们可以借助第三方插件,如`...

    jquery定制div滚动条Scrollbar

    标题中的“jquery定制div滚动条Scrollbar”涉及到的是一个使用jQuery库来实现自定义滚动条功能的技术。在网页设计中,滚动条通常是浏览器默认样式,但通过jQuery插件,我们可以为div元素创建具有个性化外观和交互...

    利用div+jquery自定义滚动条

    "利用div+jquery自定义滚动条"这个主题就是关于如何通过HTML的div元素和jQuery库来实现这一目标的。下面我们将深入探讨这个知识点。 首先,`div`是HTML中的一个常用块级元素,它用于组织页面内容。在这里,`div`...

    基于jQuery实现滚动刷新效果

    Jquery实现简单的滚动刷新效果: 实际情况使用Ajax获取后台数据更新前端页面即可实现页面滚动刷新效果 HTML正文: &lt;form id="form1" runat="server"&gt; &lt;div xss=removed&gt; &lt;/div&gt; &lt;/form&gt; Javascript...

    网页局部div随滚动条置顶滚动

    网页局部div随滚动条置顶滚动是一...总的来说,实现网页局部div随滚动条置顶滚动涉及HTML结构、CSS样式以及(可选的)JavaScript或jQuery的交互。通过理解这些技术,开发者可以创建出更富交互性和用户体验良好的网页。

    JQuery 随鼠标滚动条滚动的div

    标题中的“JQuery 随鼠标滚动条滚动的div”是指使用JQuery库来实现一个功能,即当用户滚动页面时,某个特定的div元素会跟随滚动条一起移动。这个功能在网页设计中常见于侧边栏菜单、广告条或者固定导航栏等,目的是...

    div随滚动条上下滚动

    在网页设计中,"div随滚动条上下滚动"是一种常见的动态效果,通常用于实现固定定位或者跟随滚动的视觉效果。这种效果可以通过JavaScript库jQuery和原生JavaScript来实现,以增加用户体验,使某些元素如导航栏、侧...

    jQuery控制div实现随滚动条滚动效果

    jQuery控制div实现随滚动条滚动效果是Web前端开发中常见的一个功能,涉及到了JavaScript事件处理、动画制作等技术点。通过对这些技术的掌握和应用,可以增加页面的互动性和用户的体验感。实现这一效果的方法不止一种...

    Jquery跟随滚动条移动的div动画效果

    "Jquery跟随滚动条移动的div动画效果"就是一个典型的例子,它利用jQuery库实现了一个div元素随着页面滚动条移动而同步移动的特效,而且这个div在移动过程中保持平滑,避免了闪烁现象,提升了用户体验。 首先,...

    使用div做滚动条

    这种技术通常被称为“DIV滚动条”,其实现方式主要是通过HTML的`&lt;div&gt;`标签结合CSS样式来完成。本文将详细介绍如何使用`&lt;div&gt;`标签及其相关的CSS属性来实现一个可自定义样式的滚动条。 #### DIV滚动条的基本概念 ...

    jQuery+mousescroll.js自定义美化div滚动条插件

    "jQuery+mousescroll.js自定义美化div滚动条插件"就是这样一个工具,它旨在将传统的浏览器滚动条转变为更加符合现代审美且交互友好的元素。这款插件允许开发者轻松地自定义滚动条样式,使其与网站的设计风格保持一致...

    div模拟滚动条效果示例代码

    代码引入了jQuery库,虽然在这个例子中没有直接使用JavaScript或jQuery来控制滚动,但在实际应用中,可能需要编写JavaScript代码来监听滚动事件,实现自定义滚动行为,如平滑滚动或者动态显示/隐藏滚动条。...

    jquery监听DIV的事件

    然而,jQuery并没有直接提供对`resize`事件的支持,所以这通常需要配合原生JavaScript来实现,例如使用MutationObserver来监听元素属性的更改,包括尺寸变化。 此外,为了提高性能,我们应该尽可能地使用事件委托。...

    通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位

    本文将介绍如何使用JQuery实现div滚动条的自动定位。 首先,我们需要了解JQuery的基础知识。JQuery是一个快速、简洁的JavaScript库,它通过简化HTML文档遍历和事件处理、动画和Ajax交互,使得Web开发变得更加方便和...

    jquery水平滚动条

    jQuery,一个广泛使用的JavaScript库,提供了丰富的功能和方法来定制和增强滚动条效果,使其更加美观且符合用户体验。本篇文章将深入探讨如何使用jQuery实现水平滚动条,并介绍相关的知识点。 首先,我们需要理解...

    jquery.mCustomScrollbar自定义滚动条插件

    jQuery.mCustomScrollbar是一款强大的自定义滚动条插件,它能够帮助开发者轻松地对滚动条进行美化和定制,从而提升网站的整体视觉效果和用户交互性。 ### 插件概述 jQuery.mCustomScrollbar是由Marco Castelluccio...

Global site tag (gtag.js) - Google Analytics