使用ul li 实现图片的左右滚动

2023-11-04

最近项目中使用到了一个效果,即图片的左右滚动效果。

以前也写过,但是没有整理,这次顺手整理一下吧。

实现的思路很简单。

图片列表使用li 实现,在ul  的最外层包裹上div ,将这个div的overflow设置为隐藏,并且将ul的宽度设置到最够大。这样,里面的图片会水平排列,同时也会被隐藏住。

点击按钮的时候,改变外层div的scrollLeft属性,即相当于拖动它的滚动条。

代码如下:


<!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>

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" >
	function moveleft(){
		var scrleft = $("#maincontent").scrollLeft();
		if(scrleft>0) $("#maincontent").animate({scrollLeft:(scrleft-82)},500);
	}
	function moveright(){
		var licount = $("#ul1").children("li").size(); //li个数
		var perwidth = 20 + 62;//每个li的宽度和左控的和
		var liwidths = licount * perwidth; //所有li的总宽度
		var targetScrol = liwidths - 300;//li总宽度减去外层div的宽度。即得到滚动条需要滚动的长度
		var scrleft = $("#maincontent").scrollLeft();//目前滚动条的滚动长度
		if(!isNaN(targetScrol) && (scrleft < targetScrol)){
			$("#maincontent").animate({"scrollLeft":scrleft+perwidth},500); //若 目前的滚动条的长度小于 最终需要滚动的长度,则向左拉动滚动条,拉动的距离为 一个li的宽度和它的左外空的距离。
		}
		
	}
</script>


<style type="text/css">
	*{
	margin:0;
	padding:0;	
  } 
  
  #maincontent{
	  width:300px;
	  border:1px solid #0FC;
	  height:100px;
	  overflow:hidden;
	  float:left;
 }
 
 #ul1{
	list-style-type:none; 
	width:3000px;
}
	 
	 #ul1 li{
		float:left; 
		margin-left:20px;
	}
	.imgdiv{
		background-image:url(img.png);
		background-position:top center;
		background-repeat:no-repeat;
		width:62px;
		height:62px;	
	}
	.chardiv{
		text-align:center;	
	}
	.leftmove{
		cursor:pointer;
		float:left;		
		height:100px;
		line-height:100px;
		text-align:center;
		margin-right:10px;
	}
	.rightmove{
	 cursor:pointer;
	 float:left;
	 height:100px;	
	line-height:100px;
	text-align:center;	
	margin-left:10px;
	}
</style>

</head>

<body>

<div style="position:absolute;left:200px;top:100px;">

<div class="leftmove" οnclick="moveleft()"><<</div>
<div id="maincontent">
	<ul id="ul1">
    	<li>
        	<div class='imgdiv'></div>
            <div class='chardiv'>img1</div>
        </li>
        <li>
        	<div class='imgdiv'></div>
            <div class='chardiv'>img2</div>
        </li>
        <li>
        	<div class='imgdiv'></div>
            <div class='chardiv'>img3</div>
        </li>
        <li>
        	<div class='imgdiv'></div>
            <div class='chardiv'>img4</div>
        </li>
        <li>
        	<div class='imgdiv'></div>
            <div class='chardiv'>img5</div>
        </li>
        <li>
        	<div class='imgdiv'></div>
            <div class='chardiv'>img6</div>
        </li>
        <li>
        	<div class='imgdiv'></div>
            <div class='chardiv'>img7</div>
        </li>
        <li>
        	<div class='imgdiv'></div>
            <div class='chardiv'>img8</div>
        </li>
    </ul>
</div>
<div class="rightmove" οnclick="moveright()">>></div>

</div>
</body>
</html>

关键在于,要将外层的div的overflow设置为隐藏,同时内部的ul宽度足够大!


附件:http://download.csdn.net/detail/lxl631/8417651

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用ul li 实现图片的左右滚动 的相关文章

  • 在淘汰赛应用程序中使用 setInterval 进行轮询实现?

    我正在尝试使用 setInterval 实现简单的轮询机制 我有一个视图模型如下 define knockout jquery function ko function ViewModel var self this setInterval
  • 未捕获的类型错误:无法读取未定义的属性“toLowerCase”

    我收到此错误 它源自 jquery 框架 当我尝试加载准备好的文档上的选择列表时 出现此错误 我似乎无法找到为什么会出现此错误 它适用于更改事件 但在尝试手动执行该函数时出现错误 未捕获的类型错误 无法读取未定义的属性 toLowerCas
  • 防止jsTree节点选择

    我正在使用 jsTree 插件列出文件系统中的文件夹 我需要防止用户在满足特定条件之前更改到另一个节点 下面的代码不会停止传播 我看到了一些使用其他插件的解决方案 但这是一个简单的任务 没有其他插件它一定是可能的 jstree on sel
  • JQUERY 中用于加载 JQGRID 的选项卡

    我正在使用 jqgrid 制作网格 我想在我的应用程序中创建选项卡 单击选项卡应打开一个网格 选项卡的名称应显示在页面顶部 当我单击另一个选项卡时 它应该加载另一个网格 网格应该加载在同一页面上 并且选项卡也应该始终出现在页面上 我已经创建
  • 使用 javascript 将 html 文本渲染为位图,无需服务器端代码

    我需要使用 javascript 代码来转换 html 中的文章 帖子 以便最终用户以位图的形式查看 有没有办法在没有服务器端代码的情况下做到这一点 example p testing text here p 您可以使用例如html2can
  • jQuery id 选择器在有 .在 ID 中[重复]

    这个问题在这里已经有答案了 我的html代码如下 div class chatbox html markup which is validated div 在上面的代码中dipesh parmardiv 动态添加 我正在使用以下代码访问它
  • javascript中输入类型时间的值

    我有这个html
  • 使用 jquery 通配符检查 cookie 名称

    我有一个生成动态 cookie 的表单 例如 webform 62 1234356 62 1234356 可以是任意数字 我需要使用一些通配符检查来检查名称以 webform 开头的 cookie 是否存在 下面不起作用 if cookie
  • Javascript 中的线性回归 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在网络浏览器中用 Javascript 进行最小二乘拟合 目前 用户使用 HTML 文本输入输入数
  • jQuery 检索和设置 html select 元素的选定选项值

    我正在尝试使用 jQuery 检索并设置选择元素 下拉列表 的选定值 为了检索我已经尝试过 myId find selected val 也 myId val 但两者都返回未定义 任何对此问题的见解将不胜感激 要获取 设置选择元素的实际 s
  • 限制 jQuery id 字符串吗?

    简而言之 我的问题是字符串在 jQuery 中作为可搜索 id 或可搜索内容有什么限制 更新 我得到了 ID 部分 但不是为什么我什至无法使用该字符串搜索 html 内容 对于任何愿意告诉我一个正则表达式来将模式从 MM dd yy HH
  • 检测 WebGL 支持的正确方法?

    我正在尝试跨多个浏览器检测 WebGL 支持 并且遇到了以下情况 当前版本的 Firefox 似乎使用以下检查来报告积极支持 即使访问者的视频卡被列入黑名单和 或 WebGL 被禁用 if window WebGLRenderingCont
  • 如何设置视频文件的预览,从输入类型='文件'中选择

    在我的模块之一中 我需要从 input type file 浏览视频 之后我需要在开始上传之前显示选定的视频 我使用基本的 HTML 标签来显示 但它不起作用 这是代码 document on change file multi video
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 使用 AJAX 加载部分视图不起作用

    请原谅我 我是 MVC 和 AJAX 的新手 目前我只是提交一个表单 我想使用表单中的数据使用 ajax 更新部分视图中的表 My UserInfo部分视图如下所示 model IEnumerable
  • 过滤自定义选择器是否大于 jQuery 中的数字[重复]

    这个问题在这里已经有答案了 快给你一份 我查看了 jQuery com 中的选择器 但找不到按大于数字的选择器进行过滤的方法 我想做这个 level gt 4 hide 我的 html 看起来像这样 div Test div 如何使用该语法
  • Instagram 粉丝计数 - 使用 jQuery / json 和 PHP

    经过几个小时的工作和一些帮助萨希尔 米塔尔我们已经成功使用 jQuery json 和 PHP 检索 Instagram 关注者计数 这是我们设法整理的内容 希望对其他想要获取 Instagram 信息的人有所帮助 我们的 jQuery I
  • JQuery UI Selectable 插件:当 div 溢出时使滚动条不可选择

    我有一个 div 设置为overflow auto 该 div 的内容是可选择的 使用 jQuery UI 当 div 溢出并出现滚动条时 滚动条本身变为可选择状态 因此滚动效果不佳 在 FF Chrome 中 我可以滚动 div 但我得到
  • JavaScript 继承;调用和原型

    要在Javascript中实现继承 通常需要执行以下两个步骤 假设我有一个基类 Animal var Animal function name this name name 我现在想从中派生一个子类 Dog 所以我想说 var Dog fu
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green

随机推荐

  • VUEJS入坑日记.2 -DatePicker设置默认日期

    iview中DatePicker 的value属性和v modal不能同时使用
  • 从输入网址到显示网页的全过程分析

    作为一个软件开发者 你一定会对网络应用如何工作有一个完整的层次化的认知 同样这里也包括这些应用所用到的技术 像浏览器 HTTP HTML 网络服务器 需求处理等等 本文将更深入的研究当你输入一个网址的时候 后台到底发生了一件件什么样的事 1
  • python怎样让条形图x轴的字不要重叠

    在 matplotlib 中绘制条形图时 可以使用 rotation 参数来控制 x 轴标签的旋转角度 例如 如果你希望将 x 轴标签旋转 45 度 可以这样写 import matplotlib pyplot as plt 绘制条形图的代
  • 虚拟机类加载机制

    虚拟机类加载机制 深入理解Java虚拟机 第2版 类加载的时机 类从被加载到虚拟机内存中开始 到卸载出内存为止 它的整个生命周期包括 加载 验证 准备 解析 初始化 使用和卸载7个阶段 其中验证 准备 解析3个部分统称为连接 加载 验证 准
  • PAN解读 —— Efficient and Accurate Arbitrary-Shaped Text Detection with Pixel Aggregation Network

    文章目录 简述 网络结构 Backbone Segmentation Head FPEM FFM Output and Pixel Aggregation PA 损失函数 Aggregation Loss Discrimination Lo
  • CocoaPods问题排查步骤

    CocoaPods问题排查步骤 1 ruby源的问题排查 1 查看ruby的源 gem sources l 2 添加ruby的源 如果不是 https gems ruby china com 的源的话 添加这个源 gem sources a
  • 10分钟手把手教你运用Python实现简单的人脸识别

    今天 我们用Python实现高大上的人脸识别技术 Python里 简单的人脸识别有很多种方法可以实现 依赖于python胶水语言的特性 我们通过调用包可以快速准确的达成这一目的 这里介绍的是准确性比较高的一种 01 首先 梳理一下实现人脸识
  • uniApp入门(一)

    目录 一 项目准备 1 1 创建项目 1 2 创建页面 1 3 运行项目 1 4 pages json文件的页面配置与全局配置 1 5 rpx单位 二 内置组件 2 1 基础内容 2 2 视图容器 2 2 1 scrollView 2 2
  • 面向对象基础案例(2)

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chaunqi 支持我 点赞 收藏 留言 愿你我共勉 没有什么比勇气更温文尔雅 没有什么比怯懦更冷酷无情 文章目录 面型对象基础案例 2 1 打印水果类价格
  • shell中怎么比较两个字符串的大小?

    shell中 有两个字符串 2004 05 23 和 2005 03 01 怎么来比较他们的大小呢 方法一 date d echo 2005 03 01 tr s date d echo 2004 05 23 tr s 执行结果分别为 11
  • 离线OCR中英文图片识别

    webOcr WebOcr 基于Google Tessract4机器学习构建中英文离线Ocr项目 在其基础上提供了http调用的接口 便于你在其他的项目中调用 并且提供了Docker 便于部署 特性 中文识别 快速高识别率 模型训练 通过j
  • Git 讲解及常用的操作

    这个博主的Git常用操作 以及Git的讲解 让我这个初学者收获良多 因此转载记录 https blog csdn net pzm1993 article details 79980258 前言 目前来说 版本控制主要分为 集中式版本控制 C
  • matlab中散点图的线性拟合_matlab画散点图并拟合函数曲线MATLAB画散点图和二次函数...

    matlab画散点图并拟合函数曲线 MATLAB画散点图和二次函数 www zhiqu org 时间 2020 12 07 画法如下 在输入栏分别输入x y matlab的开始菜单start gt toolboxes gt cirve fi
  • jacob 插入水印方法整理

    Dispatch activeWindow this word getProperty ActiveWindow toDispatch 取得活动窗格对象 Dispatch activePan Dispatch get activeWindo
  • 1262、可被三整除的最大和(扩展、可被k整除的最大和)

    LeetCode 1262 可被三整除的最大和 给你一个整数数组 nums 请你找出并返回能被三整除的元素最大和 示例 1 输入 nums 3 6 5 1 8 输出 18 解释 选出数字 3 6 1 和 8 它们的和是 18 可被 3 整除
  • mybatis-plus注解实现数据的批量操作

    1 批量删除 Delete Integer deletePrinterBindAll String pri
  • vue怎么在style中使用data中定义的变量

    需求 动态修改三方组件的样式 思路 项目开发中使用的某某某三方ui组件 所以想要修改这个组件的样式只能通过css进行修改 那么想要动态修改 就要在style中使用data里的变量 实现
  • python伪造请求头x-forwarded-for的作用_python3-requests伪造x-forwarded-for以及解决

    通常 我们的服务器会有一级或者多级的反向代理 因此我们代码中拿remote addr会取到最后一级反向代理的ip 为了拿到真实ip 常常会去x Forward For中拿用户最后一级代理Ip 但是由于该值是header中的 直接去取可能取到
  • Flink 窗口

    介绍 流式计算是一种被设计用于处理无限数据集的数据处理引擎 而无限数据集是指一种不断增长的本质上无限的数据集 而 window 是一种切割无限数据为有限块进行处理的手段 其分为两种类型 1 时间窗口 2 计数窗口 一 时间窗口 时间窗口根据
  • 使用ul li 实现图片的左右滚动

    最近项目中使用到了一个效果 即图片的左右滚动效果 以前也写过 但是没有整理 这次顺手整理一下吧 实现的思路很简单 图片列表使用li 实现 在ul 的最外层包裹上div 将这个div的overflow设置为隐藏 并且将ul的宽度设置到最够大