原生js实现旋转木马轮播图效果
发布时间 - 2026-01-10 23:18:39 点击率:次话不多说,请看代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>旋转木马特效</title>
<style type="text/css">
*{margin: 0;padding: 0;list-style:none;}
#demo{width:1200px;margin:100px auto 0;}
#innerht{width:1200px;height:500px;position:relative;}
ul li{position:absolute;top:0;left:0;z-index:1;}
ul li img{width:100%;}
#corrow{position:absolute;width:100%;top:50%;opacity:0;z-index:99;}
#btn_lef,#btn_rig{position:absolute;height:112px;width:76px;top:50%;margin-top:-56px;}
#btn_lef{left:0;}
#btn_rig{right:0;}
</style>
</head>
<body>
<div id="demo">
<div id="innerht">
<ul>
<li><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=dac666f84f6ad05ec026ad655ea0f159" alt=""></a></li>
<li><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=89c2213f2b614db88b5724b82dafc02a" alt=""></a></li>
<li><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=e7969486909c076abf795995bdc3da54" alt=""></a></li>
<li><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=b404e53a3f4dd7e97438693e8e2d4082" alt=""></a></li>
<li><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=ed309dded163d172b53154b2046eb1a2" alt=""></a></li>
</ul>
<div id="corrow">
<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" id="btn_lef"><img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=206927b03b97b194bc04cdcaf0e10a33" height="112" width="76" alt=""></a>
<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" id="btn_rig"><img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=0e84253cccdf667e293522a0a107eeec" height="112" width="76" alt=""></a>
</div>
</div>
</div>
</body>
<script type="text/javascript">
(function(window){
function $(id){
return document.getElementById(id);
};
//每张图片对应的样式
var tempArr = [
{
"width":400,
"top":20,
"left":50,
"opacity":0.2,
"zIndex":2
},
{
"width":600,
"top":70,
"left":0,
"opacity":0.8,
"zIndex":3
},
{
"width":800,
"top":100,
"left":200,
"opacity":1,
"zIndex":4
},
{
"width":600,
"top":70,
"left":600,
"opacity":0.8,
"zIndex":3
},
{
"width":400,
"top":20,
"left":750,
"opacity":0.2,
"zIndex":2
}
];
// 设置限流函数
var onOff = true ;
// 获取对象
var left = $("btn_lef"),right = $("btn_rig"),innerht = $("innerht"),ul = innerht.children[0],lis = ul.children,arrow = $("corrow");
// 给每个li添加样式
addStyle();
// 大盒子的hover事件
innerht.onmouseover = function(){
animate(arrow,{"opacity":1});
};
innerht.onmouseout = function(){
animate(arrow,{"opacity":0});
};
// 右箭头点击事件
right.onclick = function(){
if( onOff ){
onOff = false;
var atop = tempArr.shift();
tempArr.push( atop );
addStyle();
};
};
// 左箭头点击事件
left.onclick = function(){
if( onOff ){
onOff = false;
var apop = tempArr.pop();
tempArr.unshift( apop );
addStyle();
};
};
function addStyle(){
for( i = 0 ; i < lis.length ; i++ ){
animate(lis[i],tempArr[i],function(){
onOff = true;
console.log(onOff);
});
};
};
// 设置animate函数
function animate(obj,json,fn){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var flog = true ;
for( k in json ){
if( k === "zIndex" ){
obj.style[k] = json[k];
}else if( k === "opacity" ){
var leader = getStyle(obj,k) * 100 ;
var target = json[k] * 100 ;
var step = ( target - leader ) / 10 ;
step = step > 0 ? Math.ceil( step ) : Math.floor( step ) ;
// 浮点数判断相等时是不准确的
// 所以不能写leader = ( leader + step )/100;
// 保持leader和target都是整数,便于下面判断相等
leader = leader + step ;
obj.style[k] = leader / 100;
}else{
var leader = parseInt( getStyle(obj,k) ) || 0 ;
var target = json[k];
var step = ( target - leader ) / 10 ;
step = step > 0 ? Math.ceil( step ) : Math.floor( step ) ;
leader = leader + step ;
obj.style[k] = leader + "px";
};
if( leader !== target ){
flog = false ;
};
};
console.log(flog);
if( flog ){
clearInterval( obj.timer );
if( fn ){
fn();
};
};
}, 15);
};
// 设置getStyle函数,获取计算后的样式
function getStyle(obj,attr){
if( window.getComputedStyle ){
return window.getComputedStyle(obj,null)[attr];
}else{
return obj.currentStyle[attr];
};
};
})(window)
</script>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js旋转木马轮播图
# 旋转木马轮播图
# 旋转木马轮播
# JS实现旋转木马轮播案例
# js轮播图之旋转木马效果
# JavaScript实现旋转木马轮播图
# js实现旋转木马轮播图效果
# JS实现旋转木马轮播图
# js实现旋转木马效果
# JS实现旋转木马式图片轮播效果
# 原生JS实现旋转木马式图片轮播插件
# 原生js实现旋转木马效果
# 都是
# 多说
# 不准确
# 浮点数
# btn_lef
# btn_rig
# body
# div
# opacity
# top
# left
# li
# absolute
# corrow
# index
# img
# id
# mod
# misc
# php
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何做网站制作流程,*游戏网站怎么搭建?
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
如何用虚拟主机快速搭建网站?详细步骤解析
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
iOS UIView常见属性方法小结
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
iOS发送验证码倒计时应用
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
网页设计与网站制作内容,怎样注册网站?
大连网站制作公司哪家好一点,大连买房网站哪个好?
公司门户网站制作流程,华为官网怎么做?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
长沙做网站要多少钱,长沙国安网络怎么样?
Linux系统运维自动化项目教程_Ansible批量管理实战
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
jQuery validate插件功能与用法详解
高端建站如何打造兼具美学与转化的品牌官网?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
如何快速搭建高效香港服务器网站?
英语简历制作免费网站推荐,如何将简历翻译成英文?
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
如何为不同团队 ID 动态生成多个独立按钮
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
微信小程序 input输入框控件详解及实例(多种示例)
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
网站页面设计需要考虑到这些问题
JS经典正则表达式笔试题汇总
如何在橙子建站中快速调整背景颜色?
如何快速搭建安全的FTP站点?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
Laravel如何配置任务调度?(Cron Job示例)
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何在阿里云购买域名并搭建网站?
Thinkphp 中 distinct 的用法解析
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何快速生成橙子建站落地页链接?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Laravel Fortify是什么,和Jetstream有什么关系
网站制作软件免费下载安装,有哪些免费下载的软件网站?

