前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >jQuery无缝图片横向(水平)/竖向(垂直)滚动

jQuery无缝图片横向(水平)/竖向(垂直)滚动

作者头像
菩提树下的杨过
发布于 2018-01-22 06:56:20
发布于 2018-01-22 06:56:20
17.2K0
举报

jQuery的一个不错的小插件,记性越来越差了,整理一下贴在这里,方便以后Copy & Paste

代码语言:js
AI代码解释
复制
<!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><title>
 
</title>
    <script type="text/javascript" src="http://img.7bazaar.com/js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="http://img.7bazaar.com/js/jquery.imageScroller.js"></script>
    <style type="text/css">
        * { list-style: none; font-size: 12px; padding: 0; margin: 0; }
        
        #container { width: 460px; height: 100px; background: red; position: absolute; left: 50%; top: 50%; margin-left: -230px; margin-top: -50px; }
        #btnPrev, #btnNext, #listBox { float: left; }
        
        #btnPrev, #btnNext { width: 30px; height: 18px; line-height: 18px; padding: 41px 0; background: #ff9; text-align: center; }
        
        #listBox { width: 400px; height: 100px; overflow: hidden; background: #000; }
        
        #list li { width: 90px; height: 90px; line-height: 100px; text-align: center; float: left; background-color: Aqua; overflow: hidden;margin:5px;display:inline }
    </style>
    <script type="text/javascript">
 
        $(function () {
            $("#listBox").imageScroller({
                next: "btnNext",
                prev: "btnPrev",
                frame: "list",
                child: "li",
                auto: false
            });
        });
        
    </script>
</head>
<body>
    <div id="container">
        <div id="btnNext" title="上一个">
            <<
        </div>
        <div id="listBox">
            <ul id="list">
                <li>001</li>
                <li>002</li>
                <li>003</li>
                <li>004</li>
                <li>005</li>
                <li>006</li>
                <li>007</li>
                <li>008</li>
                <li>009</li>
            </ul>
        </div>
        <div id="btnPrev" title="下一个">
            >>
        </div>
    </div>
</body>
</html>

运行代码 (注:如果点击运行代码后报js错误,请在页面上右击选择编码为utf-8或刷新页面)

上面的jquery.imageScroller.js,如果您不想当成插件来用,里面的代码也可以单独扒出来(麦考林首页就是这么用的.)

代码语言:js
AI代码解释
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title></title>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
    <style type="text/css">
        *
        {
            padding: 0;
            margin: 0;
            border: 0;
            list-style: none;
            font-size: 12px;
        }
        
       body{height:100%;}
        
        .catalog
        {
            position: relative;
            height: 165px;
            width: 226px;
            overflow: hidden;           
            left: 50%;
            top:50%;
            margin-left: -113px;
            margin-top: -82px;
        }
        .catalog .h5
        {
            font-weight: bold;
            background: #e4e4e4;
            line-height: 20px;
            height: 20px;
            margin-bottom: 5px;
            text-indent: 5px;
        }
        
        .catalog .imgbox li
        {
            width: 113px;
            height: 140px;
            float: left;
            overflow: hidden;
        }
        .catalog .arrow
        {
            position: absolute;
            width: 90px;
            height: 19px;
            top: 1px;
            right: 0px;
            _display: inline;
        }
        .catalog .arrow li
        {
            float: left;
        }
        .catalog .arrow a.left
        {
            line-height: 15px;
            text-indent: -99em;
            width: 30px;
            display: block;
            background: url(http://images.24city.com/jimmy/img/ca-arrow2.gif) no-repeat 0px 0px;
            height: 19px;
            overflow: hidden;
        }
        .catalog .arrow a.right
        {
            line-height: 15px;
            text-indent: -99em;
            width: 30px;
            display: block;
            background: url(http://images.24city.com/jimmy/img/ca-arrow2.gif) no-repeat 0px 0px;
            height: 19px;
            overflow: hidden;
        }
        .catalog .arrow a.left
        {
            width: 50px;
            background-position: -76px 0px;
        }
        
        .catalog .arrow a.right
        {
            background-position: -131px 0px;
            margin-left: 8px;
        }
        .catalog .arrow a.left:hover
        {
            background-position: 0px 0px;
        }
        .catalog .arrow a.right:hover
        {
            background-position: -55px 0px;
        }
    </style>
</head>
<body>
    <div id="catalog" class="catalog">
        <div class="h5">
            最新目录</div>
        <ul class="imgbox">
            <li><a href="#">
                <img alt="" src="http://images.24city.com/jimmy/img/mag1.jpg" /></a></li>
            <li><a href="#">
                <img alt="" src="http://images.24city.com/jimmy/img/mag2.jpg" /></a></li>
            <li><a href="#">
                <img alt="" src="http://images.24city.com/jimmy/img/mag3.jpg" /></a></li>
            <li><a href="#">
                <img alt="" src="http://images.24city.com/jimmy/img/mag4.jpg" /></a></li>
        </ul>
        <ul class="arrow">
            <li><a class="left" title="向左" href="#">向左</a></li>
            <li><a class="right" title="向右" href="#">向右</a></li>
        </ul>
    </div>
    <script type="text/javascript">
        var slideX = {
            thisUl: $('#catalog ul.imgbox'),
            btnLeft: $('#catalog a.left'),
            btnRight: $('#catalog a.right'),
            thisLi: $('#catalog ul.imgbox li'),
            init: function () {
                slideX.thisUl.width(slideX.thisLi.length * 113);
                slideX.slideAuto();
                slideX.btnLeft.click(slideX.slideLeft).hover(slideX.slideStop, slideX.slideAuto);
                slideX.btnRight.click(slideX.slideRight).hover(slideX.slideStop, slideX.slideAuto);
                slideX.thisUl.hover(slideX.slideStop, slideX.slideAuto);
            },
            slideLeft: function () {
                slideX.btnLeft.unbind('click', slideX.slideLeft);
                slideX.thisUl.find('li:last').prependTo(slideX.thisUl);
                slideX.thisUl.css('marginLeft', -113);
                slideX.thisUl.animate({ 'marginLeft': 0 }, 350, function () {
                    slideX.btnLeft.bind('click', slideX.slideLeft);
                });
                return false;
            },
            slideRight: function () {
                slideX.btnRight.unbind('click', slideX.slideRight);
                slideX.thisUl.animate({ 'marginLeft': -113 }, 350, function () {
                    slideX.thisUl.css('marginLeft', '0');
                    slideX.thisUl.find('li:first').appendTo(slideX.thisUl);
                    slideX.btnRight.bind('click', slideX.slideRight);
                });
                return false;
            },
            slideAuto: function () {
                slideX.intervalId = window.setInterval(slideX.slideRight, 3000);
            },
            slideStop: function () {
                window.clearInterval(slideX.intervalId);
            }
        }
        $(document).ready(function () {
            slideX.init();
        })
    </script>
</body>
</html>

运行代码 (注:如果点击运行代码后报js错误,请在页面上右击选择编码为utf-8或刷新页面)

当然,上面的代码稍加改造也能变成垂直滚动

代码语言:js
AI代码解释
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title></title>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
    <style type="text/css">
        * { padding: 0; margin: 0; border: 0; list-style: none; font-size: 12px; }        
        body { height: 100%; }        
        .catalog { position: relative; height: 316px; width: 113px; overflow: hidden; left: 50%; top: 50%; margin-left: -56px; margin-top: -152px; }       
        .catalog .imgbox { width: 113px; height: 280px; overflow: hidden; }        
        .catalog .imgbox li { width: 113px; height: 140px; overflow: hidden; }
        .catalog .arrow { position: absolute; width: 52px; height: 19px; top: 1px; right: 0px; _display: inline; }        
        .catalog a.aUp, .catalog a.aDown { display: block; background: #efefef; text-align: center; line-height: 18px; height: 18px; text-decoration: none; }
    </style>
</head>
<body>
    <div id="catalog" class="catalog">
        <a href="javascript:void(0)" class="aUp" title="向上"></a>
        <div class="imgbox">
            <ul class="imgbox">
                <li><a href="#">
                    <img alt="1" src="http://images.24city.com/jimmy/img/mag1.jpg" /></a></li>
                <li><a href="#">
                    <img alt="2" src="http://images.24city.com/jimmy/img/mag2.jpg" /></a></li>
                <li><a href="#">
                    <img alt="3" src="http://images.24city.com/jimmy/img/mag3.jpg" /></a></li>
                <li><a href="#">
                    <img alt="4" src="http://images.24city.com/jimmy/img/mag4.jpg" /></a></li>
            </ul>
        </div>
        <a href="javascript:void(0)" class="aDown" title="向下"></a>
    </div>
    <script type="text/javascript">
        var slideY = {
            thisUl: $('#catalog ul.imgbox'),
            btnUp: $('#catalog a.aUp'),
            btnDown: $('#catalog a.aDown'),
            thisLi: $('#catalog ul.imgbox li'),
            init: function () {
                slideY.thisUl.width(slideY.thisLi.length * 140);
                slideY.slideAuto();
                slideY.btnUp.click(slideY.slideTop).hover(slideY.slideStop, slideY.slideAuto);
                slideY.btnDown.click(slideY.slideDown).hover(slideY.slideStop, slideY.slideAuto);
                slideY.thisUl.hover(slideY.slideStop, slideY.slideAuto);
            },
            slideTop: function () {
                slideY.btnUp.unbind('click', slideY.slideTop);
                slideY.thisUl.find('li:last').prependTo(slideY.thisUl);
                slideY.thisUl.css('marginTop', -140);
                slideY.thisUl.animate({ 'marginTop': 0 }, 350, function () {
                    slideY.btnUp.bind('click', slideY.slideTop);
                });
                return false;
            },
            slideDown: function () {
                slideY.btnDown.unbind('click', slideY.slideDown);
                slideY.thisUl.animate({ 'marginTop': -140 }, 350, function () {
                    slideY.thisUl.css('marginTop', '0');
                    slideY.thisUl.find('li:first').appendTo(slideY.thisUl);
                    slideY.btnDown.bind('click', slideY.slideDown);
                });
                return false;
            },
            slideAuto: function () {
                slideY.intervalId = window.setInterval(slideY.slideDown, 3000);
            },
            slideStop: function () {
                window.clearInterval(slideY.intervalId);
            }
        }
        $(document).ready(function () {
            slideY.init();
        })
    </script>
</body>
</html>

运行代码 (注:如果点击运行代码后报js错误,请在页面上右击选择编码为utf-8或刷新页面)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010-06-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jQuery基础--选择器
jQuery选择器是jQuery为我们提供的一组方法,让我们更加方便的获取到页面中的元素。注意:jQuery选择器返回的是jQuery对象。
eadela
2019/09/29
8640
jQuery基础
使用jQuery快速高效制作网页交互特效 第一章-JavaScript基础 上机练习1 练习——统计包含“a”或“A”的字符串的个数 需求说明:使用数组存储一组字符串,并统计包含“a”或“A”的字符串的个数 关键代码: <script type="text/javascript"> var a = ["America","Greece","Britain","Canada","China","Egypt"]; var count = 0; for(var i in a) {
星辰xc
2022/04/09
7.5K0
jQuery基础
jQuery小练习
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <link rel="styleshee
小闫同学啊
2019/07/18
3960
jQuery小练习
第145天:jQuery.touchSlider触屏满屏左右滚动幻灯片
1、HTML 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-
半指温柔乐
2018/09/11
2.6K0
10个超酷的H5特效设计+1个仿最新苹果UI设计(压轴)
1.抽屉式(动态)选择 button(纯css实现) html代码:  <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="s
淼学派对
2022/11/20
1.5K0
10个超酷的H5特效设计+1个仿最新苹果UI设计(压轴)
WordPress纯代码高仿 无觅相关文章 图文模式功能
无觅的相关文章插件确实是一个不错的插件,Jeff的阳台到现在还在使用它(貌似产生了依赖性)。但到了devework.com,为了体现轻度、代码化的主题制作理念。所以在网络上找了些资料,结合自己不怎么样的技术,折腾出了个高仿无觅相关文章图文模式功能。具体效果见文章下方的“亲,意犹未尽?来看更多:”部分,是不是感觉还挺像呢?下面就分享一下折腾的成果。 首先说明,本方法实现的相关文章原理是通过获取该文章分类,找到同一分类的文章,这些文章即为“相关文章”。而图片的话,采用的是timthumb 截图(好处是节约空间,
Jeff
2018/01/19
7130
WordPress纯代码高仿 无觅相关文章 图文模式功能
jquery 实现分页 前端分页
<!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> </title> <link href="style.css" rel="stylesheet" type="text/css" /> <script src="../../scripts/jquery.js" type="text/javascript"></script> <script type="text/javascript">
用户5760343
2019/10/10
2.7K0
jquery 实现分页 前端分页
也许vue+css3做交互特效更简单
做项目就难免会开发交互效果或者特效,而我最近开发的项目一直在使用vue,开发技术栈方面,理所当然就使用了vue+css3开发,过程中发现使用vue+css3开发特效,和javascript/jquery+css3的思维方式不一样,但是比javascript/jquery+css3简单一点点。今天就分享三个简单的小实例,希望能起到拓展思维的作用,让大家明白vue+css3应该怎样开发交互效果!如果大家有什么好的建议,或者觉得我哪里写错了,欢迎指出!
守候i
2018/08/22
6330
也许vue+css3做交互特效更简单
自己实现PC端jQuery版轮播图
最近其他项目不是很忙,被安排给公司的官网项目做一个新的页面(之前没接触公司官网项目),其中有一个用到轮播图的地方,最开始想直接用swiper.js插件实现就好了,可是发现官网项目里之前都没有引入过swiper.js,后来想了想,就不引入它了,免得又得增加依次一次网络请求,项目里既然已经用到了jQuery,那就索性用jQuery写一个轮播图吧。
用户1187932
2018/03/09
11.2K1
自己实现PC端jQuery版轮播图
基于jQuery的自适应图片左右切换
大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。 效果预览:http://hovertree.com/code/jquery/smjv6d0n.htm
全栈程序员站长
2021/12/22
6.3K0
基于jQuery的自适应图片左右切换
图片轮播(左右切换)--JS原生和jQuery实现
左右切换的做法基本步骤跟 上一篇文章  淡入淡出 类似,只不过修改了一些特定的部分
书童小二
2018/09/03
81.4K1
图片轮播(左右切换)--JS原生和jQuery实现
jQuery之制作简单的轮播图效果
        通过修改每一张图片的透明度,让其每隔一段时间将其中的某一张图片透明度设为 1,而其他的设为0,从而实现图频轮流播放的效果。首先让一组图片绝对定位,并使其重叠,通过函数切换控制图片的透明度和定时器来触发该函数,改变不同图片的透明度。
思索
2024/08/16
1010
使用html+css+js实现一个静态页面(含源码)
✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】 🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作 (110套) 】 🌎超炫酷的Echarts大屏可视化源码:【🔰 echarts大屏展示大数据平台可视化(150套) 】 🎁 免费且实用的WEB前端学习指南: 【📂web前端零基础到高级学习视频教程 120G干货分享】 🥇 关于作者
IT司马青衫
2022/08/23
3.5K0
使用html+css+js实现一个静态页面(含源码)
jquery入门
运用jQuery时,需要在页面中引入jQuery文件 jQuery的hello world <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>helloworld</title> <!-- 1. 在页面中引入jQuery支持 --> <script src="js/jquery-1.12
周小董
2019/03/25
2.9K0
jQuery实现轮播
一、轮播的实现原理 1.轮播是把需要轮播的图片浮动水平排列成一排。 2.然后设置一个视窗,大小等于一张图片。 3.视窗的overflow设置为hidden,溢出部分不可见。 4.点击下一页,所有图片就水平移动一个宽度。 5.如果要实现左右滚动无限循环的效果,就需要在图片列表开头和结尾分别添加最后一张图和第一张图 就像一张胶卷,每次展示一张图片,通过移动胶卷来切换可视的图片。 二、使用jquery实现图片自动轮播效果 <!DOCTYPE html> <html lang="en"> <h
小胖
2018/06/27
9.3K0
一篇文章带你了解网页框架——Vue简单入门
如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助
秋落雨微凉
2022/10/25
9810
一篇文章带你了解网页框架——Vue简单入门
裁剪法实现_图片无缝左右切换
<!DOCTYPE html> <html>     <head>         <meta http-equiv="Content-Type" content="text/html;charset=utf-8">         <title>裁剪法实现---无缝左右切换</title>         <meta name="Keywords" content="关键字,关键字">         <meta name="description" content="">  
山海散人
2021/03/03
2K0
7b2美化-首页添加导航会员区块
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
小狐狸说事
2022/11/17
7770
Typecho 网站自定义右键
前言 简单来说就是花里胡哨,没别的意思,看着喜欢就拿去 效果 使用 配合弹窗提醒食用更佳 – 引入 layer.js,详情查看网站添加复制提醒效果一 https://cdn.staticfile.org/layer/3.1.1/layer.js 依次进入控制台 – 外观 – 设置外观 – 主题自定义扩展,将以下代码加入到自定义 HTML元素拓展 – 在 body 标签结束前,部分内容自行修改即可。 <!-- 自定义右键 --> <style type="text/css"> a {text-dec
回忆大大
2021/08/09
5390
html图片左右无缝循环滚动示例
首先,最外层的宽高要给个固定值,然后给个overflow: hidden;,放不下的图片隐藏。 原理:(以左方向为例)先向左移动一个图片的宽度,此时第一个图片已经看不见了,这个时候将第一个标签元素克隆后追加到末尾,然后将第一个元素移除。达到循环滚动的效果。右移也是同理。下面是代码实现和demo
全栈程序员站长
2022/09/09
10.7K0
相关推荐
jQuery基础--选择器
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文