导航:首页 > 动漫图片 > js怎么写图片轮播

js怎么写图片轮播

发布时间:2022-07-02 17:01:07

‘壹’ 简单的HTML+js图片轮播

h5代码:

<div id="wrap">
<ul id="list">
<li>10</li>
<li>9</li>
<li>8</li>
<li>7</li>
<li>6</li>

<li>5</li>
<li>4</li>
<li>3</li>
<li>2</li>
<li>1</li>
</ul>
</div>

css代码:

<style type="text/css">
@-webkit-keyframes move{
0%{left:-500px;}
100%{left:0;}
}
#wrap{width:600px;height:130px;border:1px solid #000;position:relative;margin:100px auto;
overflow: hidden;}

#list{position:absolute;left:0;top:0;padding:0;margin:0;
-webkit-animation:5s move infinite linear;width:200%;}

#list li{list-style:none;width:120px;height:130px;border:1px solid red;background: pink;
color:#fff;text-align: center;float:left;font:normal 50px/2.5em '微软雅黑';}

#wrap:hover #list{-webkit-animation-play-state:paused;}
</style>

(1)js怎么写图片轮播扩展阅读:

轮播图就是一种网站在介绍自己的主打产品或重要信息的传播方式。说的简单点就是将承载着重要信息的几张图片,在网页的某一部位进行轮流的呈现,从而做到让浏览者很快的了解到网站想要表达的主要信息。以及各种新闻网站的头版头条都是用这种方式呈现的重要信息。

轮播图的实现方式:例如:有5张轮播的图片,每张图片的宽度为1024px、高度为512px.那么轮播的窗口大小就应该为一张图片的尺寸,即为:1024×512。之后将这5张图片0px水平相接组成一张宽度为:5120px,高度依然为:512px。最后将这张合成后的大图每次向左移动1024px即可实现轮播图。

‘贰’ Js图片轮播思路

<ahref="http://liping.site">js图片轮播效果代码</a>


首先我们需要引入一张图片,通过更改img标签中src的值,达到图片切换功能。
html代码:<img src="http://liping.site/1.jpg" width="331" height="220" id="carousel">
在这我们需要理理自己的思路,一、图片从何而来 二、怎么样使图片轮播,能够动起来
自定义一个数组,将需要的图片存在中间,代码如下:
var arr=new Array();

arr[0]='1.jpg';

arr[1]='2.jpg';

arr[2]='3.jpg';

arr[3]='4.jpg';
接着我们需要能够对图片进行操作定义一个函数,
function tImg(){var obj=document.getElementById('carousel');obj.src=''+arr[carIndex];}

准备好以后我们只需要获取数组的下标即可
定义初始化下标:var carIndex=0;
在函数中如果carIndex变量等于数组的字符串长度-1的情况下,赋给carIndex=0的初始数值。不是的情况下carIndex就+或者=1,代码如下:

function tImg(){

var obj=document.getElementById('carousel');

if(carIndex==arr.length-1){

carIndex=0;}

else{

carIndex+=1;}

obj.src=''+arr[carIndex];obj.onmouseover=function(){

}

逻辑关系理清楚后我们下一步就是使他们动起来,我们需要引入setInterval来控制函数的时间,代码如下:
var time=setInterval(tImg,3000);函数3秒执行一次
做到这里我们已经能过使图片进行切换了。

‘叁’ js里面可以写轮播图吗

当然可以,css3就可以写轮播,只不过js写的轮播图兼容性更好,使用顺畅。

js实现轮播图主要是搞懂原理,还有js知识就OK啦

  1. 图片切换 是index值切换

  2. 换下一张 按钮实现功能

  3. 到最后一张回到第一张

  4. 第一张往上翻回到最后一张

  5. 写效果就OK啦

‘肆’ js中无缝滚动轮播图有多少种做法

还有就是用原生js模仿jQuery写一个动画函数,最简单版的就是:
var timer = null;
function ani(ele,target) {
clearInterval(ele.timer);
ele.timer = setInterval(function() {
var step = (target - ele.offsetLeft)/10;
step = step>0?Math.ceil(step):Math.floor(step);
ele.style.left = ele.offsetLeft + step + "px";
console.log(1);
if (Math.abs(target - ele.offsetLeft) <= Math.abs(step)) {
ele.style.left = target + "px";
clearInterval(ele.timer);
}
},30);
}
利用动画实现图片位置的移动,也是放一个图片到前面。
第二个就是还是放一张图到前面,然后把带图片的li定位;用一个arr[{left:0},{left:"200px"},{left:"400px"},{left:"600px"}];这样的数组把值分别赋给li;要滚动的时候把arr的最后一项放到最前面,再依次赋值给li,加上过渡就是轮播了,当然直接跳的那一下把过渡关了才是无缝轮播。

‘伍’ js怎么能让图片轮播

下载一个插件吧,网上多的很,你看不懂只用懂一点接口就可以了,自己写你熟悉js的话一个上午也不一定写出来,还漏洞百出

‘陆’ js轮播图

<style>
*{margin:0;padding:0;list-style:none;}
#box{width:840px;border:1pxsolid#000;height:210px;margin:30pxauto;position:relative;overflow:hidden;}
#boxul{position:absolute;left:0;top:0;}
#boxulli{width:200px;height:200px;float:left;padding:5px;}
</style>
<script>
window.onload=function(){
varoBox=document.getElementById('box');
varoUl=oBox.children[0];
varaLi=oUl.children;

//复制一份内容
oUl.innerHTML+=oUl.innerHTML;
oUl.style.width=aLi.length*aLi[0].offsetWidth+'px';

varW=oUl.offsetWidth/2;

varleft=0;
setInterval(function(){
left+=10;
oUl.style.left=(left%W-W)%W+'px';
},30);
};
</script>
</head>
<body>
<divid="box">
<ul>
<li><imgsrc="img/1.jpg"width="200"></li>
<li><imgsrc="img/2.jpg"width="200"></li>
<li><imgsrc="img/3.jpg"width="200"></li>
<li><imgsrc="img/4.jpg"width="200"></li>

</ul>
</div>

‘柒’ JS图片滚动轮播的问题

<!DOCTYPE HTML> <html> <head> <title>JS无缝滚动图片</title> <meta charset=UTF-8 /> <style type="text/css"> * { margin: 0; padding: 0; } #div2 { margin: auto; width: 602px; overflow: hidden; left: 200px; } #div1 { position: relative; left: 0px; width: 1200px; } #div1 li { list-style-type: none; float: left; width: 200px; height: 180px; } img { width: 200px; height: 180px; } ul#ul1 { position: relative; } </style> <script type="text/javascript"> window.onload = function () { var oUl = document.getElementById ('ul1'); var t,o; var speed = 0; var funny = function () { t && clearInterval(t); t = setInterval (function () { speed -= 200/11; if(speed<-200){ speed=0; oUl.appendChild (oUl.children[0]); t && clearInterval(t); t = null; o && clearTimeout(o); o=setTimeout(funny,1000); } oUl.style.left = speed + "px"; }, 60); } funny (); } </script> </head> <body> <div id="div2"> <div id="div1"> <ul id="ul1"> <li><img src="../../images/choose.png"> </li> <li><img src="../../images/deck.png"> </li> <li><img src="../../images/el.png"> </li> <li><img src="../../images/list.png"> </li> </ul> </div> </div> </body> </html>

‘捌’ js代码实现banner图片轮播

这是我以前写过的一个,样式你改一下就OK了
<div class="fbanner widget3924">
<div id="i_focus">
<div id="i_focus_pic">
<ul id="i_focus_piclist">
<li style="display: none;">
<a href="" target="_blank" style="background: url(/templates/runlinjinguan/images/banner1.jpg) center 0 no-repeat;">

</a>
</li>
<li style="display: list-item;">
<a href="" target="_blank" style="background: url(/templates/runlinjinguan/images/banner4.jpg) center 0 no-repeat;">

</a>
</li>
<li style="display: none;">
<a href="" target="_blank" style="background: url(/templates/runlinjinguan/images/banner3.jpg) center 0 no-repeat;">

</a>
</li>
<li style="display: none;">
<a href="" target="_blank" style="background: url(/templates/runlinjinguan/images/banner2.jpg) center 0 no-repeat;">

</a>
</li>
</ul>
<div id="i_focus_opdiv">
</div>
<ul id="i_focus_btn">
<li id="p0" class="">
<span>

</span>
</li>
<li id="p0" class="i_cur">
<span>

</span>
</li>
<li id="p0" class="">
<span>

</span>
</li>
<li id="p0" class="">
<span>

</span>
</li>
</ul>
</div>
</div>
<script type="text/javascript" src="/templates/runlinjinguan/js/flash.js"></script>
<script type="text/javascript">
$("#i_focus_btn").find("li").eq(0).addClass("i_cur");
</script>
</div>

引用的js文件
// JavaScript Document
//flash js
$(document).ready(function () {
var i_curIndex = 0;
var beauBeauSlide; //函数对象
var i_curID = 0; //取得鼠标下方的对象ID
var pictureID = 0; //索引ID

$("#i_focus_piclist li").eq(0).show(); //默认
autoScroll();
$("#i_focus_btn li").hover(function (e) {
StopScrolll();
$("#i_focus_btn li").removeClass("i_cur") //所有的li去掉当前的样式加上正常的样式
$(this).addClass("i_cur"); //而本身则加上当前的样式去掉正常的样式
i_curID = $(this).attr("id"); //取当前元素的ID
pictureID = $("#i_focus_btn li").index(this);// i_curID.substring(i_curID.length - 1); //取最后一个字符
$("#i_focus_piclist li").eq(pictureID).fadeIn("slow"); //本身显示
$("#i_focus_piclist li").not($("#i_focus_piclist li")[pictureID]).hide(); //除了自身别的全部隐藏
$("#i_focus_tx li").hide();
$("#i_focus_tx li").eq(pictureID).show();

},
function () {
//当鼠标离开对象的时候获得当前的对象的ID以便能在启动自动时与其同步
i_curID = $(this).attr("id"); //取当前元素的ID
pictureID = i_curID.substring(i_curID.length - 1); //取最后一个字符
i_curIndex = pictureID;
autoScroll();
});
//自动滚动

function autoScroll() {
var myNubli = $("#i_focus_btn li").size();
if (myNubli > 1) {
$("#i_focus_btn li:last").removeClass("i_cur");
$("#i_focus_tx li:last").hide();
$("#i_focus_btn li").eq(i_curIndex).addClass("i_cur");
$("#i_focus_btn li").eq(i_curIndex - 1).removeClass("i_cur");
$("#i_focus_tx li").eq(i_curIndex).show();
$("#i_focus_tx li").eq(i_curIndex - 1).hide();
$("#i_focus_piclist li").eq(i_curIndex).fadeIn("slow");
$("#i_focus_piclist li").eq(i_curIndex - 1).hide();
i_curIndex++;
i_curIndex = i_curIndex >= myNubli ? 0 : i_curIndex;
beauBeauSlide = setTimeout(autoScroll, 5000);
}
}
function StopScrolll() //当鼠标移动到对象上面的时候停止自动滚动
{
clearTimeout(beauBeauSlide);
}
});
//第二个渐隐幻灯开始
var defaultOpts = {
interval: 3000,
fadeInTime: 800,
fadeOutTime: 500
};

var _titles = $("ul.slide-txt li");
var _titles_bg = $("ul.op li");
var _bodies = $("ul.slide-pic li");
var _count = _titles.length;
var _current = 0;
var _intervalID = null;
var stop = function () {
window.clearInterval(_intervalID);
};
var slide = function (opts) {
if (opts) {
_current = opts.current || 0;
} else {
_current = (_current >= (_count - 1)) ? 0 : (++_current);
};
_bodies.filter(":visible").fadeOut(defaultOpts.fadeOutTime,
function () {
_bodies.eq(_current).fadeIn(defaultOpts.fadeInTime);
_bodies.removeClass("cur").eq(_current).addClass("cur");
});
_titles.removeClass("cur").eq(_current).addClass("cur");
_titles_bg.removeClass("cur").eq(_current).addClass("cur");
}; //endof slide
var go = function () {
stop();
_intervalID = window.setInterval(function () {
slide();
},
defaultOpts.interval);
}; //endof go
var itemMouseOver = function (target, items) {
stop();
var i = $.inArray(target, items);
slide({
current: i
});
}; //endof itemMouseOver
_titles.hover(function () {
if ($(this).attr('class') != 'cur') {
itemMouseOver(this, _titles);
} else {
stop();
}
},
go);
//_titles_bg.hover(function() { itemMouseOver(this, _titles_bg); }, go);
_bodies.hover(stop, go);
go();
var slideX = {
_this: $('.catalog .imgbox'),
_btnLeft: $('.catalog .left'),
_btnRight: $('.catalog .right'),
init: function () {
slideX._btnLeft.click(slideX.slideLeft);
slideX._btnRight.click(slideX.slideRight);
},
slideLeft: function () {
slideX._btnLeft.unbind('click', slideX.slideLeft);
for (i = 0; i < 2; i++) {
slideX._this.find('li:last').prependTo(slideX._this);
}
slideX._this.css('marginLeft', -224);
slideX._this.animate({
'marginLeft': 0
},
500,
function () {
slideX._btnLeft.bind('click', slideX.slideLeft);
});
return false;
},
slideRight: function () {
slideX._btnRight.unbind('click', slideX.slideRight);
slideX._this.animate({
'marginLeft': -224
},
500,
function () {
slideX._this.css('marginLeft', '0');
for (i = 0; i < 2; i++) {
slideX._this.find('li:first').appendTo(slideX._this)
}
slideX._btnRight.bind('click', slideX.slideRight);
});
return false;
}
}
$(document).ready(function () {
slideX.init();
})
$(document).ready(function () {
var newTime = new Date();
var newTime = newTime.getTime();
var $imgTmp = $('#topromotion').find('img:first');
var osrc = $imgTmp.attr('src');
$imgTmp.attr('src', osrc + '?' + newTime);
});

希望对你有帮助!

‘玖’ js中怎样用取模实现图片轮播

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-">
<title>最简单的轮播广告</title>
<style>
body, div, ul, li {
margin: ;
padding: ;
}
ul {
list-style-type: none;
}
body {
background: #;
text-align: center;
font: px/px Arial;
}
#box {
position: relative;
width: px;
height: px;
background: #fff;
border-radius: px;
border: px solid #fff;
margin: px auto;
}
#box .list {
position: relative;
width: px;
height: px;
overflow: hidden;
border: px solid #ccc;
}
#box .list li {
position: absolute;
top: ;
left: ;
width: px;
height: px;
opacity: ;
transition: opacity .s linear
}
#box .list li.current {
opacity: ;
}
#box .count {
position: absolute;
right: ;
bottom: px;
}
#box .count li {
color: #fff;
float: left;
width: px;
height: px;
cursor: pointer;
margin-right: px;
overflow: hidden;
background: #F;
opacity: .;
border-radius: px;
}
#box .count li.current {
color: #fff;
opacity: .;
font-weight: ;
background: #f
}
</style>
</head>
<body>
<div id="box">
<ul>
<li style="opacity: ;"><img src="img/images/.jpg" width="" height=""></li>
<li style="opacity: ;"><img src="img/images/.jpg" width="" height=""></li>
<li style="opacity: ;"><img src="img/images/.jpg" width="" height=""></li>
<li style="opacity: ;"><img src="img/images/.jpg" width="" height=""></li>
<li style="opacity: ;"><img src="img/images/.jpg" width="" height=""></li>
</ul>
<ul>
<li></li>
<li class=""></li>
<li class=""></li>
<li class=""></li>
<li class=""></li>
</ul>
</div>
<script>
var box=document.getElementById('box');
var uls=document.getElementsByTagName('ul');
var imgs=uls[].getElementsByTagName('li');
var btn=uls[].getElementsByTagName('li');
var i=index=; //中间量,统一声明;
var play=null;
console.log(box,uls,imgs,btn);//获取正确
//图片切换, 淡入淡出效果我是用(transition: opacity .s linear)做的,不纠结、简单 在css里面
function show(a){ //方法定义的是当传入一个下标时,按钮和图片做出对的反应
for(i=;i<btn.length;i++ ){
btn[i].className=''; //很容易看懂吧?每个按钮都先设置成看不见,然后把当前按钮设置成可见。
btn[a].className='current';
}
for(i=;i<imgs.length;i++){ //把图片的效果设置和按钮相同
imgs[i].style.opacity=;
imgs[a].style.opacity=;
}
}
//切换按钮功能,响应对应图片
for(i=;i<btn.length;i++){
btn[i].index=i; //不知道你有没有发现,循环里的方法去调用循环里的变量体i,会出现调到的不是i的变动值的问题。所以我先在循环外保存住
btn[i].onmouseover=function(){
show(this.index);
clearInterval(play); //这就是最后那句话追加的功能
}
}
//自动轮播方法
function autoPlay(){
play=setInterval(function(){ //这个paly是为了保存定时器的,变量必须在全局声明 不然其他方法调不到 或者你可以调用auto.play 也许可以但是没时间试了
index++;
index>=imgs.length&&(index=);//可能有优先级问题,所以用了括号,没时间测试了。
show(index);
},)
}
autoPlay();//马上调用,我试过用window.onload调用这个方法,但是调用之后影响到了其他方法,使用autoPlay所以只能这样调用了
//div的鼠标移入移出事件
box.onmouseover=function(){
clearInterval(play);
};
box.onmouseout=function(){
autoPlay();
};
//按钮下标也要加上相同的鼠标事件,不然图片停止了,定时器没停,会突然闪到很大的数字上。 貌似我可以直接追加到之前定义事件中。
</script>
</body>
</html>

阅读全文

与js怎么写图片轮播相关的资料

热点内容
逼疯的男生图片 浏览:700
女星发型图片大全白色 浏览:696
洗澡房间动漫图片 浏览:77
word就是粘贴不上图片 浏览:969
欧趴好可爱图片 浏览:948
亚麻闷青短发图片女生 浏览:944
男生无内衣无内裤裸体图片 浏览:231
动漫图案图片 浏览:622
亲吻老公的图片大全 浏览:68
动漫女孩可爱清新图片 浏览:382
初一美女拜年图片 浏览:91
图片搞笑头像男生 浏览:609
画动漫的图片怎么画 浏览:758
没救了文字控图片 浏览:391
锁骨唯美意境图片女生 浏览:294
word上下端的横向图片 浏览:886
圆脸单眼皮男生图片 浏览:247
金秋美女摄影图片 浏览:926
手绘男生黑白图片 浏览:883
小客厅欧式沙发如何摆放图片 浏览:438