关于jquery无间隙水平滚动的两种方法

1.利用scrollLeft方法

 1 <!doctype html>
 2 <html lang="en">
 3 <head>
 4 <meta charset="UTF-8">
 5 <meta name="Generator" content="EditPlus®">
 6 <meta name="Author" content="">
 7 <meta name="Keywords" content="">
 8 <meta name="Description" content="">
 9 <title>无间隙滚动</title>
10 <style type="text/css">
11 *{margin:0;padding:0;}
12 .main{width:1336px;height:254px;background:rgba(0,0,0,0.5);margin:300px auto 0;overflow:hidden}
13 .main .demo{width:9999px;height:254px;overflow:hidden}
14 .demo .demo1,.demo2{width:1670px;height:254px;float:left;}
15 .demo ul{list-style:none;}
16 .demo ul li{border:2px solid white;margin:5px;float:left;height:240px;}
17 .demo ul li img{width:320px;height:240px;}
18 </style>
19 </head>
20 <body>
21 <!--利用了scrollLeft方法,向左移动div,前提是需要移动的div要比自己的盒子div大,也要比自己的子元素之和大,不然子元素放不下-->
22 <div class="main">
23 <div class="demo">
24 <div class="demo1">
25 <ul>
26 <li><a href="#" target="_blank"><img src="images/1.jpg"/></a></li>
27 <li><a href="#" target="_blank"><img src="images/2.jpg"/></a></li>
28 <li><a href="#" target="_blank"><img src="images/3.jpg"/></a></li>
29 <li><a href="#" target="_blank"><img src="images/4.jpg"/></a></li>
30 <li><a href="#" target="_blank"><img src="images/5.jpg"/></a></li>
31 </ul>
32 </div>
33 <div class="demo2"></div>
34 </div>
35
36 </div>
37 <script type="text/javascript" src="js/jquery-1.11.3.js"></script>
38 <script type="text/javascript">
39 $(".demo2").html($(".demo1").html());
40 function scroll(){
41 if($(".main").scrollLeft()>=$(".demo1").width())
42 {
43 $(".main").scrollLeft(0);
44 }
45 else
46 {
47 $(".main").scrollLeft($(".main").scrollLeft()+1);
48 }
49 }
50 var timer=setInterval("scroll()",5);
51 $(".main .demo li").hover(function(){
52 clearInterval(timer);
53 },
54 function(){
55 timer=setInterval("scroll()",5);
56 }
57 );
58 </script>
59 </body>
60 </html>

2.利用animate方法

<!doctype html>
<html lang="en">
    <head>
         <meta charset="UTF-8">
         <meta name="Generator" content="EditPlus®">
         <meta name="Author" content="">
         <meta name="Keywords" content="">
         <meta name="Description" content="">
         <title>无间隙滚动</title>
         <style type="text/css">
              *{margin:0;padding:0;}
              .main{width:1336px;height:254px;background:rgba(0,0,0,0.5);margin:300px auto 0;overflow:hidden;position:relative;}
              .main .demo{width:9999px;height:254px;overflow:hidden;position:absolute;left:0px;}
              .demo .demo1,.demo2{width:1670px;height:254px;float:left;}
              .demo ul{list-style:none;}
              .demo ul li{border:2px solid white;margin:5px;float:left;height:240px;}
              .demo ul li img{width:320px;height:240px;}
         </style>
     </head>
     <body>
<!--利用了animate方法,向左移动div,前提是需要移动的div要比自己的盒子div大,也要比自己的子元素之和大,不然子元素放不下-->
     <div class="main">
     <div class="demo">
     <div class="demo1">
        <ul>
            <li><a href="#" target="_blank"><img src="images/1.jpg"/></a></li>
            <li><a href="#" target="_blank"><img src="images/2.jpg"/></a></li>
            <li><a href="#" target="_blank"><img src="images/3.jpg"/></a></li>
            <li><a href="#" target="_blank"><img src="images/4.jpg"/></a></li>
            <li><a href="#" target="_blank"><img src="images/5.jpg"/></a></li>
        </ul>
     </div>
     <div class="demo2"></div>
     </div>
     </div>
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<script type="text/javascript">
$(".demo2").html($(".demo1").html());
var jl=0;
var count=1;
function scroll(){
if(jl>=$(".demo1").width())
{
jl=0;
count=0;
}
else
{
$(".demo").animate({"left":-1*count+"px"},0);
jl++;
count++;
}
}
var timer=setInterval("scroll()",10);
$(".main .demo ul li").hover(function(){
clearInterval(timer);
},
function(){
timer=setInterval("scroll()",10);
}
);
</script>
</body>
</html>
时间: 2024-11-20 21:34:12

关于jquery无间隙水平滚动的两种方法的相关文章

用CSS实现水平虚线的两种方法

用CSS样式实现水平虚线的两种方法方法一:<br><br><hr size="1" noshade="noshade" style="border:1px #cccccc dotted;"/><br>方法二:<br><br><div style="border-top:1px dashed #cccccc;height: 1px;overflow:hidden

jQuery属性选择器.attr()和.prop()两种方法

在判断表单单选框是否被选中时,通常会想到使用$('#checkbox').attr('checked')来判断,但在一些情况下,你会发现这种方法并不管用,得到的是undefined. 原来jQuery在1.6版本以后对属性选择器做了一些调整,分为.attr()和.prop()两种方法.为的是区分元素attributes和properties之间模棱两可的东西. 那么它们之间有什么区别呢? 官方的解释是: Attributes vs. Properties The difference betwe

定位实现水平垂直居中的两种方法(无需计算)

首先给想要居中的元素设置绝对定位,其父元素设置相对定位. 然后,方法一:top,left,right,bottom都设置为0,margin:auto,即可在父元素中水平垂直居中. 方法二:top,left都设置为50%,然后transform:translate(-50%,-50%),如果其他地方也用到了transform并且设置transition容易误伤这里.

【Jquery】jQuery获取URL參数的两种方法

jQuery获取URL參数的关键是获取到URL,然后对URL进行过滤处理,取出參数. location.href是取得URL.location.search是取得URL"?"之后的字符串,也就是说參数部分. 方法一: function request(paras){ var url = location.href; var paraString = url.substring(url.indexOf("?")+1,url.length).split("&a

控制鼠标滚轮滚动的两种方法

1 $(function(){ 2 // jquery 兼容的滚轮事件 3 var strat = true; 4 var mark = 0; 5 $(document).on("mousewheel DOMMouseScroll", function (e) { 6 var delta = (e.originalEvent.wheelDelta && (e.originalEvent.wheelDelta > 0 ? 1 : -1)) || // chrome

水平排列居中两种方法总结

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>水平排列方法</title> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> </head> <

jQuery事件函数位置放置的两种方法

jQuery 事件函数 jQuery 事件处理方法是 jQuery 中的核心函数. 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法. 通常会把 jQuery 代码放到 <head>部分的事件处理方法中: 实例 1 <html> 2 <head> 3 <script type="text/javascript" src="jquery.js"></script> 4 <script typ

div随页面滚动遇顶固定的两种方法(js&amp;jQuery)

一.遇顶固定的例子 我一直以为是某个div或层随屏幕滚动,遇顶则固定,离开浏览器顶部又还原这样的例子其实不少,其实它的名字叫"层的智能浮动效果".目前我们在国内的商业网站上就常常看到这样的效果了.例如淘宝网的搜索结果页的排序水平条,在默认状态时,该工具条是跟随页面滚动的,如下图: 而当我们下拉滚动条,随着页面向下滚动,当此工具条接触到浏览器的上边缘时,这时就会独立出来固定在顶部,不跟随页面滚动而滚动了,如下图: 类似的例子效果我们在别的网站上都有看到过,例如腾讯微博首页上,当我们下拉屏

js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>