web前端js基础------制作滚动图片

1,要求

通过定时器使其出现滚动的效果

可以通过按键控制图片滚动的方向(设置两个按钮绑定点击事件)

当鼠标悬停时图片停止,鼠标离开时图片继续向前滚动(可以设置鼠标的悬停和离开事件)

参考如下

			content.onmouseenter = function(){//设置鼠标悬停事件key = "stop";}content.onmouseleave = function(){//设置鼠标离开事件key = "run";}

图片可以持续滚动,不会出现空白(添加滚动图片)

2,参考代码(左右滚动)

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">#slide{width:800px;height: 100px;margin: 0 auto;margin-top: 100px;border: 1px solid black;overflow: hidden;}#content{width: 999999px;}img{width: 160px;height: 100px;float: left;margin-right: 10px;cursor: pointer;}#button{width: 100px;margin: 20px auto;}</style></head><body><div id="slide"><div id="content"><img src="../img/1.png"/><img src="../img/2.png"/><img src="../img/3.png"/><img src="../img/4.png"/><img src="../img/5.png"/><img src="../img/6.png"/><img src="../img/7.png"/><img src="../img/8.png"/><img src="../img/9.png"/></div></div><div id="button"><button type="button" id="left">向左</button><button type="button" id="right">向右</button></div><script type="text/javascript">var content = document.getElementById("content");var left = document.getElementById("left");var right = document.getElementById("right");content.style.marginLeft = 0+"px";content.innerHTML = content.innerHTML+content.innerHTML+content.innerHTML;var key = "run";var dkey = "left";left.onclick = function(){dkey = "left";}right.onclick = function(){dkey = "right";}content.onmouseenter = function(){key = "stop";}content.onmouseleave = function(){key = "run";}dd();function dd(){var num = parseFloat(content.style.marginLeft);if(key == "run"){if(dkey == "left"){num-=0.5;if(num<=-170*9){num=0;}}else{num+=0.5;if(num>=0){num=-170*9;}}}content.style.marginLeft = num+"px";setTimeout("dd()",13);}</script></body>
</html>

3,结果参考示例

4,参考代码(上下滚动)

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">/* 设置盒子 */#div{height: 800px;width: 100px;border: 1px solid black;margin: 0px auto;overflow: hidden;			}/* 设置内容即图片的容器*/#content{height: 999999px;}/* 设置图片的样式 */img{width: 100px;height: 160px;margin-top: 10px;cursor: pointer;}/* 设置按钮样式*/#button{ width: 100px;margin: 20px auto;}</style></head><body><div id="div"><div id="content"><img src="../img/2ee18-231100-163232346010b0.jpg"/><img src="../img/1.png"/><img src="../img/2.png"/><img src="../img/3.png"/><img src="../img/4.png"/><img src="../img/5.png"/><img src="../img/6.png"/><img src="../img/7.png"/><img src="../img/8.png"/><img src="../img/9.png"/></div></div><div id="button"><button type="button" id="top">向上</button><button type="button" id="buttom">向下</button></div><script>var content = document.getElementById("content");//获取内容的idvar topSlide =document.getElementById("top");//获取向上按钮的idvar downSlide =document.getElementById("buttom");//获取向下按钮的idcontent.innerHTML = content.innerHTML+content.innerHTML+content.innerHTML;//使内容乘于3倍content.style.marginTop = 0 + "px";//设置外边距初始值var key = "run";//设置初始是运行的var dkey = "top";//设置初始是向右边的topSlide.onclick = function(){dkey = "top";}downSlide.onclick = function(){dkey = "buttom";}content.onmouseenter = function(){//设置鼠标悬停事件key = "stop";}content.onmouseleave = function(){//设置鼠标离开事件key = "run";}slide();function slide(){var num = parseFloat(content.style.marginTop);if(key == "run"){if(dkey == "top"){num-=0.5;if(num<=-170*9){num=0;}}else{num+=0.5;if(num>=0){num=-170*9;}}}		content.style.marginTop = num+"px";setTimeout("slide()",13);//设置定时器使其运行}</script></body>
</html>

效果同3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/134382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【穿透科技】P2P穿透模块介绍

P2P穿透+一站式音视频解决方案路过看风景P2P隧道模块(pgLibTunnel) 1.功能介绍 P2P隧道是在Peergine中间件基础上实现的一个TCP隧道应用(通过P2P来传输TCP流量),包括服务器和客户端程序。它可以协助从公网或者从另一私网访问某个私网内部的计算机和网络设备。其优点是无需…

揭开堆叠式自动编码器的强大功能

一、介绍 在不断发展的人工智能和机器学习领域&#xff0c;深度学习技术因其处理复杂和高维数据的能力而广受欢迎。在各种深度学习模型中&#xff0c;堆叠式自动编码器是一种多功能且功能强大的工具&#xff0c;可用于特征学习、降维和数据表示。本文探讨了堆叠式自动编码器在深…

如何写好一篇学术论文

目录 前言 1.标题和摘要 1.1标题 1.2摘要及关键词 1.2.1摘要 1.2.2关键词 2.正文 2.1引言 2.2问题建模 2.3研究方法及分析 2.4仿真&#xff08;伪代码&#xff09; 2.5实验结果及分析 2.6 总结 2.7延深 2.7.1图片处理 2.7.2审稿回复 2.7.3如何避免拒稿 2.7.4写…

【论文阅读】Generating Radiology Reports via Memory-driven Transformer (EMNLP 2020)

资料链接 论文原文&#xff1a;https://arxiv.org/pdf/2010.16056v2.pdf 代码链接&#xff08;含数据集&#xff09;&#xff1a;https://github.com/cuhksz-nlp/R2Gen/ 背景与动机 这篇文章的标题是“Generating Radiology Reports via Memory-driven Transformer”&#xf…

【JAVA】:万字长篇带你了解JAVA并发编程-死锁优化【六】

目录 【JAVA】&#xff1a;万字长篇带你了解JAVA并发编程-并发编程的优化【六】并发编程的优化避免死锁死锁产生的条件避免死锁的方式死锁例程代码使用JpsJstack查看进程死锁问题 避免资源竞争 个人主页: 【⭐️个人主页】 需要您的【&#x1f496; 点赞关注】支持 &#x1f4a…

C#,数值计算——偏微分方程,谱方法的微分矩阵的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 谱方法的微分矩阵 /// Differentiation matrix for spectral methods /// </summary> public class Weights { public Weights() { …

前端框架Bootstrap

前端框架Bootstrap 该框架已经帮我们写好了很多页面样式&#xff0c;如果需要使用&#xff0c;只需要下载对应文件 直接CV拷贝即可 在使用Bootstrap的时候&#xff0c;所有的页面样式只需要通过修改class属性来调节即可 什么是Bootstrap Bootstrap是一个开源的前端框架…

Spring Boot项目中通过 Jasypt 对属性文件中的账号密码进行加密

下面是在Spring Boot项目中对属性文件中的账号密码进行加密的完整步骤&#xff0c;以MySQL的用户名为root&#xff0c;密码为123321为例&#xff1a; 步骤1&#xff1a;引入Jasypt依赖 在项目的pom.xml文件中&#xff0c;添加Jasypt依赖&#xff1a; <dependency><…

Go语言开发环境安装,hello world!

1. Go开发包SDK https://golang.google.cn/dl/&#xff08;国内也可以安装&#xff09; 根据自己电脑下载对应的安装包&#xff0c;我懒下载了msi安装 然后一路点确定安装Go 2.安装GoLand https://www.jetbrains.com/go/download/#sectionwindows 下载安装包 一路确定安装完…

LoRaWAN物联网架构

与其他网关一样&#xff0c;LoRaWAN网关也需要在规定的工作频率上工作。在特定国家部署网关时&#xff0c;必须要遵循LoRa联盟的区域参数。不过&#xff0c;它是没有通用频率的&#xff0c;每个国家对使用非授权MHZ频段都有不同的法律规定。例如&#xff0c;中国的LoRaWAN频段是…

Mysql多表设计

前言 多表查询中要给每一表起别名 tableA as 别名1 , tableB as 别名2 ; &#xff08;111111推荐&#xff09; tableA 别名1 , tableB 别名2 ; 例子&#xff1a; select emp.name , dept.name from tb_emp emp inner join tb_dept dept on emp.dept_id dept.id; 一对一 在任…

接口测试工具的实验,Postman、Swagger、knife4j(黑马头条)

一、Postman 最常用的接口测试软件&#xff0c;需要注意点&#xff1a;在进行post请求时&#xff0c;需要选择JSON形式发送 输入JSON字符串&#xff0c;比如&#xff1a; {"maxBehotTime": "2021-04-19 00:19:09","minBehotTime": "2021-…

微信小程序:怎么在一个js中修改另一个js的数据(这里通过缓存进行实现)

实例&#xff1a;现有两个页面index.js和category.js,我现在想在index.js中修改category.js的数据 初始数据 category [{name: 物流配送,list: [{id: 1,job: 外卖骑手,checked: true}, {id: 2,job: 快递员,checked: false}, {id: 3,job: 司机,checked: false}, {id: 4,job: …

远程仓库地址改变后更换url

请按照以下步骤进行操作&#xff1a; 打开终端或命令提示符&#xff0c;并导航到你的本地仓库目录。运行以下命令&#xff0c;查看当前的远程仓库配置&#xff1a;git remote -v 这将显示当前的远程仓库地址。 如果远程仓库地址显示为192.168.1.178&#xff0c;请使用以下命…

Nat. Med. | 基于遗传学原发部位未知癌症的分类和治疗反应预测

今天为大家介绍的是来自Alexander Gusev团队的一篇论文。原发部位未知癌症&#xff08;Cancer of unknown primary&#xff0c;CUP&#xff09;是一种无法追溯到其原发部位的癌症&#xff0c;占所有癌症的3-5&#xff05;。CUP缺乏已建立的靶向治疗方法&#xff0c;导致普遍预后…

支持存档的书签服务LinkWarden

什么是 LinkWarden &#xff1f; Linkwarden 是一个自托管、开源协作书签管理器&#xff0c;用于收集、组织和存档网页。目标是将您在网络上找到的有用网页和文章组织到一个地方&#xff0c;并且由于有用的网页可能会消失&#xff08;参见链接失效的必然性&#xff09;&#xf…

[POI2006] OKR-Periods of Words——最大周期长度(扩展最小周期长度)

[POI2006] OKR-Periods of Words——最大周期长度(扩展最小周期长度) [原题链接](P3435 [POI2006] OKR-Periods of Words - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 字符串的周期 讲这道题之前&#xff0c;我们先聊一聊字符串的周期。我们要明确周期和border两个概念 …

【ChatGPT】ChatGPT的自定义指令

ChatGPT的自定义指令 关于ChatGPT自定义指令的常见问题解答概述可用性如何使用您的数据自定义指令设置将应用于所有新聊天。启动新聊天可查看更改iOS & AndroidWeb 示例常见问题使用自定义指令的好处字符限制我的ChatGPT数据导出中是否包含自定义指令&#xff1f;当我删除我…

回归模型原理总结及代码实现

前言 本文将介绍回归模型算法&#xff0c;并总结了一些常用的除线性回归模型之外的模型&#xff0c;其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归、人工神经网络、…

nodejs:fs文件系统模块

定义&#xff1a;fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性&#xff0c;用来满足用户对文件的操作需求. const fs require(fs)1).fs.readFile()方法&#xff0c;用来读取指定文件中的内容 fs.readFile(path[,options],callback) …