html隔一段时间换图片,jQuery实现每隔一段时间自动更换样式的方法分析

jQuery实现每隔一段时间自动更换样式的方法分析

发布时间:2020-08-23 01:57:56

来源:脚本之家

阅读:106

作者:夏日米米茶

本文实例讲述了jQuery实现每隔一段时间自动更换样式的方法。分享给大家供大家参考,具体如下:

js核心代码部分:

$(document).ready(function(){

// 皮肤列表选项切换

$(".ulSkin li").click(function(){

$(this).addClass("active").siblings("li").removeClass("active");

});

});

// 皮肤背景切换

function skin1(){

$("#skins").removeClass("skin0 skin2 skin3 skin4").addClass("skin1");

}

function skin2(){

$("#skins").removeClass("skin0 skin1 skin3 skin4").addClass("skin2");

}

function skin3(){

$("#skins").removeClass("skin0 skin1 skin2 skin4").addClass("skin3");

}

function skin4(){

$("#skins").removeClass("skin0 skin1 skin2 skin3").addClass("skin4");

}

function skin0(){

$("#skins").removeClass("skin4 skin1 skin2 skin3").addClass("skin0");

}

// 设定循环切换相隔时间

$(window).load(function() {

setInterval("autochange()",3000);

})

// 设置一个判断计数器

var count=0;

// 根据计数器状态切换响应的皮肤

function autochange() {

if (count==0) {

skin1();

}

if (count==1) {

skin2();

}

if (count==2) {

skin3();

}

if (count==3) {

skin4();

}

if (count==4) {

skin0();

}

count=count+1;

if (count>4) {

count=0;

}

}

css样式部分:

.ulSkin{height:150px; width:auto;}

.ulSkin li{float:left; width:80px; list-style: none;}

.active{font-weight:700; font-size:18px;}

.skin0{color:#000;}

.skin1{color:#00f;}

.skin2{color:#0f0;}

.skin3{color:#f00;}

.skin4{color:#ff0;}

HTML代码部分:

  • 样式0
  • 样式1
  • 样式2
  • 样式3
  • 样式4
样式自动更换测试

完整示例代码如下:

www.jb51.net jQuery自动定时更换样式

.ulSkin{height:150px; width:auto;}

.ulSkin li{float:left; width:80px; list-style: none;}

.active{font-weight:700; font-size:18px;}

.skin0{color:#000;}

.skin1{color:#00f;}

.skin2{color:#0f0;}

.skin3{color:#f00;}

.skin4{color:#ff0;}

  • 样式0
  • 样式1
  • 样式2
  • 样式3
  • 样式4
样式自动更换测试

$(document).ready(function(){

// 皮肤列表选项切换

$(".ulSkin li").click(function(){

$(this).addClass("active").siblings("li").removeClass("active");

});

});

// 皮肤背景切换

function skin1(){

$("#skins").removeClass("skin0 skin2 skin3 skin4").addClass("skin1");

}

function skin2(){

$("#skins").removeClass("skin0 skin1 skin3 skin4").addClass("skin2");

}

function skin3(){

$("#skins").removeClass("skin0 skin1 skin2 skin4").addClass("skin3");

}

function skin4(){

$("#skins").removeClass("skin0 skin1 skin2 skin3").addClass("skin4");

}

function skin0(){

$("#skins").removeClass("skin4 skin1 skin2 skin3").addClass("skin0");

}

// 设定循环切换相隔时间

$(window).load(function() {

setInterval("autochange()",3000);

})

// 设置一个判断计数器

var count=0;

// 根据计数器状态切换响应的皮肤

function autochange() {

if (count==0) {

skin1();

}

if (count==1) {

skin2();

}

if (count==2) {

skin3();

}

if (count==3) {

skin4();

}

if (count==4) {

skin0();

}

count=count+1;

if (count>4) {

count=0;

}

}

使用本站HTML/CSS/JS在线运行测试工具:http://tools.jb51.net/code/HtmlJsRun,可得到如下测试运行效果:

524351cd1652511d8bc7d1139141dd74.gif

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常见事件用法与技巧总结》、《jQuery常用插件及用法总结》、《jQuery操作json数据技巧汇总》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于jQuery的轮播图实现方法,满足您的需求: HTML结构: ```html <div class="slider"> <ul class="slider-list"> <li><img src="image1.jpg"></li> <li><img src="image2.jpg"></li> <li><img src="image3.jpg"></li> </ul> <div class="slider-nav"> <span class="slider-nav-item active"></span> <span class="slider-nav-item"></span> <span class="slider-nav-item"></span> </div> <span class="slider-prev"><</span> <span class="slider-next">></span> </div> ``` CSS样式: ```css .slider { position: relative; width: 600px; height: 400px; margin: 0 auto; overflow: hidden; } .slider-list { position: absolute; left: 0; top: 0; width: 300%; height: 100%; } .slider-list li { float: left; width: 33.33%; height: 100%; list-style: none; } .slider-list li img { width: 100%; height: 100%; } .slider-nav { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); } .slider-nav-item { display: inline-block; width: 10px; height: 10px; margin-right: 10px; background-color: #fff; border-radius: 50%; cursor: pointer; } .slider-nav-item.active { background-color: #000; } .slider-prev, .slider-next { position: absolute; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; line-height: 30px; text-align: center; font-size: 20px; color: #fff; background-color: rgba(0, 0, 0, 0.5); cursor: pointer; opacity: 0; transition: opacity 0.3s; } .slider-prev:hover, .slider-next:hover { opacity: 1; } .slider-prev { left: 20px; } .slider-next { right: 20px; } ``` JavaScript代码: ```javascript $(function() { var $slider = $('.slider'); var $sliderList = $slider.find('.slider-list'); var $sliderItems = $slider.find('.slider-list li'); var $sliderNav = $slider.find('.slider-nav'); var $sliderNavItems = $slider.find('.slider-nav-item'); var $sliderPrev = $slider.find('.slider-prev'); var $sliderNext = $slider.find('.slider-next'); var slideWidth = $sliderItems.width(); var slideCount = $sliderItems.length; var currentIndex = 0; var intervalId; // 初始化轮播图 function initSlider() { // 复制首尾两张图片实现无缝切换 $sliderItems.eq(0).clone().appendTo($sliderList); $sliderItems.eq(slideCount - 1).clone().prependTo($sliderList); // 设置轮播图列表的宽度和初始位置 $sliderList.css({ width: slideWidth * (slideCount + 2), left: -slideWidth }); // 设置圆形下标的初始状态 $sliderNavItems.eq(0).addClass('active'); // 绑定事件处理函数 $slider.on('mouseenter', function() { $sliderPrev.stop().animate({ opacity: 1 }, 300); $sliderNext.stop().animate({ opacity: 1 }, 300); clearInterval(intervalId); }).on('mouseleave', function() { $sliderPrev.stop().animate({ opacity: 0 }, 300); $sliderNext.stop().animate({ opacity: 0 }, 300); startSlider(); }); $sliderPrev.on('click', function() { prevSlide(); }); $sliderNext.on('click', function() { nextSlide(); }); $sliderNavItems.on('click', function() { var index = $(this).index(); gotoSlide(index); }); // 自动播放 startSlider(); } // 开始轮播图 function startSlider() { intervalId = setInterval(function() { nextSlide(); }, 3000); } // 切换到上一张图片 function prevSlide() { currentIndex--; if (currentIndex < 0) { currentIndex = slideCount - 1; $sliderList.css({ left: -slideWidth * slideCount }); } $sliderList.stop().animate({ left: -slideWidth * currentIndex - slideWidth }, 500); updateNav(); } // 切换到下一张图片 function nextSlide() { currentIndex++; if (currentIndex > slideCount) { currentIndex = 0; $sliderList.css({ left: -slideWidth }); } $sliderList.stop().animate({ left: -slideWidth * currentIndex - slideWidth }, 500); updateNav(); } // 切换到指定的图片 function gotoSlide(index) { currentIndex = index; $sliderList.stop().animate({ left: -slideWidth * currentIndex - slideWidth }, 500); updateNav(); } // 更新圆形下标的状态 function updateNav() { $sliderNavItems.removeClass('active'); $sliderNavItems.eq(currentIndex % slideCount).addClass('active'); } // 初始化轮播图 initSlider(); }); ``` 注意事项: - 代码中的图片路径需要根据实际情况进行调整; - 代码中的CSS样式可以根据实际情况进行调整,例如轮播图的宽高、下标的位置等; - 代码中的自动切换时间为3秒,可以根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值