`
天梯梦
  • 浏览: 13629898 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

jquery 鼠标移动 div内容上下或左右滚动

 
阅读更多

效果:Demo

 

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠标移动 div内容滚动 - 学无止尽 iKeepStudying.com</title>
<meta name="keywords" content="鼠标移动 div内容滚动">
<meta name="description" content="鼠标移动 div内容滚动">
<script type="text/javascript" src="http://sources.ikeepstudying.com/js/jquery-1.8.3.min.js"></script>
</head>

<body>
	
	<div style="width:1000px;margin:24px auto;">
		<h1>1. 横向滚动 1 Horizontal Scrolling</h1>
		<style>
			.thumbs-block {
			    position:relative; /**/
			    overflow: hidden;
			    background: #ccc;
			    margin: 0 5px;
			    width: 714px;
			    height:142px;      /**/
			} 
			.thumbs-block .thumbs {
			    white-space: nowrap;
			    text-align: center;
			}
			.thumbs-block .thumb {
			    display: inline-block;
			    padding: 5px;
			    margin: 5px;
			    background: rgba(0, 0, 0, 0.2);
			    border: 1px solid #ccc;
			    border: 1px solid rgba(0, 0, 0, 0.3);
			    height: 120px;
			    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
			    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
			    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
			}
			
			.thumbs{
			  position:absolute;  /**/
			  margin-left:0;      /**/
			}
		</style>
		<script>
			$(function()
			{
			    var $bl    = $(".thumbs-block"),
			        $th    = $(".thumbs"),
			        blW    = $bl.outerWidth(),
			        blSW   = $bl[0].scrollWidth,
			        wDiff  = (blSW/blW)-1,  // widths difference ratio
			        mPadd  = 60,  // Mousemove Padding
			        damp   = 20,  // Mousemove response softness
			        mX     = 0,   // Real mouse position
			        mX2    = 0,   // Modified mouse position
			        posX   = 0,
			        mmAA   = blW-(mPadd*2), // The mousemove available area
			        mmAAr  = (blW/mmAA);    // get available mousemove fidderence ratio
			
				$bl.mousemove(function(e) {
			        mX = e.pageX - this.offsetLeft;
			        mX2 = Math.min( Math.max(0, mX-mPadd), mmAA ) * mmAAr;
				});
			
				setInterval(function(){
					posX += (mX2 - posX) / damp; // zeno's paradox equation "catching delay"	
					$th.css({marginLeft: -posX*wDiff });
				}, 10);
			
			});
		</script>
		This one will have 60px "mousemove padding" at each side:
	  	<div class="thumbs-block">
		    <div class="thumbs">
		     	<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=1" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=2" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=3" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=4" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=5" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=6" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=7" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=8" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=9" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=10" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=11" width="120" height="120" /></a>
				<a href="#" rel="group" class="fancybox thumb"><img src="http://placehold.it/120x120&text=12" width="120" height="120" /></a>
		    </div>
		</div><br>
		来源: <a href="http://jsbin.com/uninug/3/edit">http://jsbin.com/uninug/3/edit</a><br><br>
		
		<h1>2. 横向滚动 2 Horizontal Scrolling</h1>
		
		<style>
			#parent{
			  position:relative;
			  margin:0 auto;
			  height: 260px;
			  width: 100%;
			  background: #ddd;
			}
			#propertyThumbnails{
			  position:relative;
			  overflow:hidden;
			  background:#444;
			  width:100%;
			  height:262px;
			  white-space:nowrap;
			}
			#propertyThumbnails img{
			  vertical-align: middle;
			  height: 260px;
			  display:inline;
			  margin-left:-4px;
			}	
		</style>
		<script>
			$(function()
			{
				$(window).load(function()
				{
					var $gal   = $("#propertyThumbnails"),
						galW   = $gal.outerWidth(true),
						galSW  = $gal[0].scrollWidth,
						wDiff  = (galSW/galW)-1,  // widths difference ratio
						mPadd  = 60,  // Mousemove Padding
						damp   = 20,  // Mousemove response softness
						mX     = 0,   // Real mouse position
						mX2    = 0,   // Modified mouse position
						posX   = 0,
						mmAA   = galW-(mPadd*2), // The mousemove available area
						mmAAr  = (galW/mmAA);    // get available mousemove fidderence ratio
			
					$gal.mousemove(function(e) {
						mX = e.pageX - $(this).parent().offset().left - this.offsetLeft;
						mX2 = Math.min( Math.max(0, mX-mPadd), mmAA ) * mmAAr;
					});
			
					setInterval(function(){
						posX += (mX2 - posX) / damp; // zeno's paradox equation "catching delay"	
						$gal.scrollLeft(posX*wDiff);
					}, 10);
				
				});
			});
		</script>
		<div id="parent">
		    <div id="propertyThumbnails">
		        <img src="http://www.millport.org/wp-content/uploads/2013/05/Flower-festival.jpg" />
		        <img src="http://www.millport.org/wp-content/uploads/2013/05/Flower-festival.jpg" />
		        <img src="http://www.millport.org/wp-content/uploads/2013/05/Flower-festival.jpg" />
		        <img src="http://www.millport.org/wp-content/uploads/2013/05/Flower-festival.jpg" />
		        <img src="http://www.millport.org/wp-content/uploads/2013/05/Flower-festival.jpg" />
		    </div>
		</div><br>
		来源: <a href="http://jsbin.com/alokat/1/edit">http://jsbin.com/alokat/1/edit</a><br><br>
		
		<h1>3. 纵向滚动  Vertical Scrolling</h1>
		<style>
			.box {
			    width:300px;
			    height:300px;
			    overflow-y:hidden;
			    background:#eee;
			    border:1px #ccc solid;
			    overflow:hidden;
			}
			.box p {
			    margin:1em;
			}
		</style>
		<script>
			$(document).ready(function() 
			{
			    $(".box").mousemove(function(e){
			        var h = $('#innerbox').height()+13;
			        var offset = $($(this)).offset();
			        var position = (e.pageY-offset.top)/$(this).height();
			        $(".status").html('Percentage:' + ((e.pageY-offset.top)/$(this).height()).toFixed(2));
			        if(position<0.33) $(this).stop().animate({ scrollTop: 0 }, 5000);
			        else if(position>0.66) $(this).stop().animate({ scrollTop: h }, 5000);
			        else $(this).stop();
			    });
			});
		</script>
		<div class="box">
		    <div id="innerbox" style="height:auto;">
			    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tempor volutpat elementum. Nunc enim enim, eleifend sit amet blandit a, vestibulum a purus. Phasellus at accumsan ante. Duis vestibulum rhoncus sapien a dapibus. Suspendisse malesuada aliquet faucibus. Vestibulum ut sem diam. Integer tempus pellentesque mi, et luctus nunc porttitor in. Nunc vel risus in mauris facilisis commodo.</p>
			    
			    <p>Etiam gravida accumsan tortor, vitae malesuada est volutpat at. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam erat volutpat. Nunc mattis dapibus odio nec bibendum. Aliquam id lorem tellus, eget venenatis tellus. Aliquam quis eros arcu. Nam massa dui, scelerisque eu tempor a, faucibus ac ligula. Praesent gravida tempus magna, eu hendrerit nibh placerat tincidunt. Nulla eleifend semper ligula. Nulla vitae adipiscing orci.</p>
			    
			    <p>Pellentesque eu lorem vitae leo congue egestas eu et risus. Praesent laoreet odio eget urna bibendum id pharetra dolor placerat. Mauris molestie venenatis est. Nunc eu dictum risus. Morbi sodales laoreet dapibus. Duis euismod condimentum massa, fringilla sodales mauris feugiat sed. In in iaculis diam.</p>
			    
			    <p>Donec velit magna, dignissim ac lobortis pharetra, laoreet a quam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec vitae quam ante. Fusce mi sapien, suscipit sed feugiat non, suscipit hendrerit neque. Maecenas elementum vestibulum bibendum. Curabitur nisl mauris, posuere cursus vestibulum sit amet, suscipit ac ligula. Nulla dolor tortor, lacinia vel mattis et, egestas tristique augue. Quisque at nibh tortor.</p>
			    
			    <p>In hac habitasse platea dictumst. Donec ullamcorper nisl sed leo porta euismod. Maecenas gravida scelerisque lobortis. In hac habitasse platea dictumst. Cras iaculis, justo vel aliquet faucibus, odio leo sollicitudin tellus, a sodales odio purus nec felis. In massa orci, euismod nec gravida vitae, pulvinar sit amet nulla. Integer in lorem lectus, eget dignissim ante.</p>
			</div>
		</div>
		<div class="status"></div><br>
		来源: <a href="http://jsfiddle.net/n3Q9j/5/">http://jsfiddle.net/n3Q9j/5/</a>
	</div>
</body>
</html>

 

效果:Demo

 

分享到:
评论

相关推荐

    jquery 滑动DIV

    点击左右按钮,实现图片或者DIV的滑动,也可用于手机开发

    JavaScript_JQuery_CSS_CSS_DIV漂亮的实例123个

    98. 很帅的jQuery鼠标移动预览图展示+简介内容展示特效代码 99. 打包jQuery实用3个焦点图切换自动切换特效的代码 100. 打包jquery拖动条拖动图片缩略图及放大图片效果插件(翻版thickbox插件) 101. 打包基于...

    jquery鼠标悬停图片移动效果

    不错的图片特效,当鼠标悬停在图片上后,多出div边框的图片会自动左右滚动,底部弹出半透明度的文字说明内容

    jquery鼠标hover事件文字内容滑动遮罩效果

    效果描述: 其实今天发的这个,之前已经有过先例了 这里就不多说了 使用方法: 1、将head中的样式引入到你的网页中 2、将body里的代码部分拷贝到你需要的地方即可 ... (注意保持图片路径正确)

    JavaScript_JQuery_CSS_DIV漂亮的实例

    59. jQuery鼠标滑动图片显示标题与简介的滑动动感特效代码 60. jQuery鼠标移上小图显示大缩略图功能 61. js仿淘宝网鼠标经过缩略图放大图片效果的jQuery Fancy Hover Effect完整实例 62. Supersized jQuery全屏...

    JQuery&CSS;&CSS;+DIV实例大全.rar

    25.jquery鼠标移动出现下拉菜单及提示特效代码 26.jquery外国滚动型多级展开菜单插件(jGlideMenu)下载 27.jquery自由滚动切换 标签式导航菜单示例 28.博客Blog横向jquery动态滑动菜单插件示例 29.打包50种...

    100多个JQuery效果示例(实例)div+css+javascrpit

    98. 很帅的jQuery鼠标移动预览图展示+简介内容展示特效代码 99. 打包jQuery实用3个焦点图切换自动切换特效的代码 100. 打包jquery拖动条拖动图片缩略图及放大图片效果插件(翻版thickbox插件) 101. 打包基于jQuery...

    jquery 动态示例

    1. 2款jQuery图片自动...98. 很帅的jQuery鼠标移动预览图展示+简介内容展示特效代码 99. 打包jQuery实用3个焦点图切换自动切换特效的代码 100. 打包jquery拖动条拖动图片缩略图及放大图片效果插件(翻版thickbox插件)

    超实用的jQuery代码段

    1.25 实现文字跟随鼠标移动变化的动画效果 1.26 文本域中光标的定位 1.27 实现可折叠效果 1.28 文本框内容自动缩进 1.29 禁止页面滚动的方法 1.30 页面加载后消息框居中显示 1.31 创建页面固定浮动栏的方法 第2章 ...

    基于jquery实现鼠标左右拖动滑块滑动附源码下载

    基于jQuery移动端滑块拖动设置代码。这是一款支持手机移动端的特效,可拖动滑块范围选择器,拖动滑块数值选择器。 废话不多说了,直接给大家贴代码了。 html代码: &lt;div class=demo&gt; &lt;input type=hidden class...

    jQuery-Scrollbars:一个用于将自定义滚动条添加到div的jQuery插件

    将xxx替换为当前版本号] jquery.mousewheel.js [处理鼠标滚轮移动的插件] jquery.sizes.js [提供对元素大小支持的插件] jquery.scrollbar.js [此插件].scrollbar() 将scrollbar()方法应用于要具有滚动

    jQuery详细教程

    jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。 选择器允许您对 HTML 元素组或单个元素进行操作。 在 HTML DOM 术语中: 选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。...

    轻量级图片滑块插件jQuery Flow Slider实例演示

    脚本资源,jQuery,滑块插件,jQuery插件 Flow Slider 是一个用鼠标控制的轻量级 jQuery 图片滑块插件,它能够将一个无序的列表转换成一个放置图片的容器,同时你能通过移动鼠标左右位置就可控制图片左右来回滑动。...

    jqeruy 插件 鼠标经过显示文本信息

    这是个jquery 插件,作用是当鼠标经过图片是会显示底部影藏的div效果有好几种都是自己私藏的好东西,希望大家能够有用!

    jQuery.zoom 插件实现图片内部放大以及鼠标跟随效果

    当你的图片跟你当前div不一致时,或者图片比例差别较大的时候,就可以采用这种方式了 图片可以在你的内部自由转换位置。 不适合移动网页 使用方法: 1、将CSS代码引入到你的网页中 2、将body中的代码...

    jquery.Nice-Scrollbar:基于jQuery的滚动条,适用于PC和智能手机(触摸事件)。 它是现代纤薄,易于集成,易于使用的。 在FirefoxChromeMaxthoniPhoneAndroid上进行了测试。 &lt;7ko min.js和&lt;1Ko min.css非常轻

    尼斯滚动条 基于响应式jQuery的滚动条,适用于PC和智能手机(触摸事件... 当一个滚动元素是另一个滚动元素的子元素时,通过在极端位置(顶部或底部)上滚动更多内容来添加“强制滚动”。 (选项)(默认情况下启用) 依

    移动开发HTML5设计.zip

    网站具有图片轮播效果、鼠标对图片的进入和移出特效、点击小图放大图片特效、文字超链接、图片超链接、锚链接、菜单栏、景点预定须知、景点简介、交通指南、用户点评功能、div分块、CSS样式、下拉菜单、景点门票预订...

    jQuery弹性滑动导航菜单实现思路及代码

    – 实现思路: CSS:用一个绝对定位的div作为动画滑块,改变它的left属性来呈现动画效果 javascript:hover()触发移动鼠标到导航nav的动作,和移出导航nav的动作(即返回到current导航) –&gt; &lt;!DOCTYPE HTML&gt; &lt;...

    旅游网站HTML5移动开发.zip

    网站具有图片轮播效果、鼠标对图片的进入和移出特效、点击小图放大图片特效、文字超链接、图片超链接、锚链接、菜单栏、景点预定须知、景点简介、交通指南、用户点评功能、div分块、CSS样式、下拉菜单、景点门票预订...

Global site tag (gtag.js) - Google Analytics