导航:首页 > 编程语言 > js图片自动滚动

js图片自动滚动

发布时间:2023-07-08 03:59:20

js如何实现图片滑动

<script language="javascript" type="text/javascript">
//图片滚动展示 Start
var counts = 4;
//大图//
img1 = new Image();
img1.src = 'images/1.jpg';
img2 = new Image();
img2.src = 'images/2.jpg';
img3 = new Image();
img3.src = 'images/3.jpg';
img4 = new Image();
img4.src = 'images/4.jpg';

var smallImg = new Array();
//小图
smallImg[0] = 'images/index_adb1.gif';
smallImg[1] = 'images/index_adb2.gif';
smallImg[2] = 'images/index_adb3.gif';
smallImg[3] = 'images/index_adb4.gif';

//链接地址
url1 = new Image();
url1.src = ' http://www..com';
url2 = new Image();
url2.src = ' http://www.qzxtg.com';
url3 = new Image();
url3.src = ' http://www.soso.com';
url4=new Image();
url4.src=' http://www.sina.com.cn'

//alt值
alt1 = new Image();
alt1.alt = '';
alt2 = new Image();
alt2.alt = '';
alt3 = new Image();
alt3.alt = ' ';
alt4 = new Image();
alt4.alt='';
////欢迎来到标准之路.
var nn = 1;
var key = 0;
function change_img() {
if (key == 0) {
key = 1;
} else if (document.all) {
document.getElementById("pic").filters[0].Apply();
document.getElementById("pic").filters[0].Play(ration = 2);
}
eval('document.getElementById("pic").src=img' + nn + '.src');
eval('document.getElementById("url").href=url' + nn + '.src');
eval('document.getElementById("pic").alt=alt' + nn + '.alt');
if (nn == 1) {
document.getElementById("url").target = "_blank";
document.getElementById("url").style.cursor = "pointer";
} else {
document.getElementById("url").target = "_blank"
document.getElementById("url").style.cursor = "pointer"
}

for ( var i = 1; i <= counts; i++) {
document.getElementById("xxjdjj" + i).className = 'axx';
}
document.getElementById("xxjdjj" + nn).className = 'bxx';
nn++;
if (nn > counts) {
nn = 1;
}
tt = setTimeout('change_img()', 7000);
}
function changeimg(n) {
nn = n;
window.clearInterval(tt);
change_img();
}
function imageshow() {
document.write('<div class="picshow_main">');
document.write('<div><a id="url"><img id="pic" class="imgbig" /></a></div>');
document.write('<div class="picshow_change">');
for ( var i = 0; i < counts; i++) {
document.write('<a href="javascript:changeimg(' + (i + 1)
+ ');" id="xxjdjj' + (i + 1)
+ '" class="axx" target="_self"><img src="' + smallImg[i]
+ '"></a>');
}
document.write('</div></div>');
change_img();
}
//图片滚动展示 End
</script>
<script language="javascript" type="text/javascript">
imageshow();
</script>

② 图片自动轮播图片只往一个方向滚动,求一个原生JS程序

<!DOCTYPEHTML>
<html>
<head>
<title>JS无缝滚动图片</title>
<metacharset=UTF-8/>
<styletype="text/css">
*{
margin:0;
padding:0;
}

#div2{
margin:auto;
width:602px;
overflow:hidden;
left:200px;
}

#div1{
position:relative;
left:0px;
width:1200px;
}

#div1li{
list-style-type:none;
float:left;
width:200px;
height:180px;
}

img{
width:200px;
height:180px;
}

ul#ul1{
position:relative;
}
</style>
<scripttype="text/javascript">
window.onload=function()
{
varoUl=document.getElementById('ul1');
vart,o;
varspeed=0;
varfunny=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>
<divid="div2">
<divid="div1">
<ulid="ul1">
<li><imgsrc="../../images/choose.png">
</li>
<li><imgsrc="../../images/deck.png">
</li>
<li><imgsrc="../../images/el.png">
</li>
<li><imgsrc="../../images/list.png">
</li>
</ul>
</div>
</div>
</body>
</html>

③ js图片无缝滚动的原理是什么

不断减少图片距离外面容器的间距,然后在间距为0的刹那将图片重新回到初始位置。为了内不至于看出破容绽,滚动图片要弄双份儿,比如你需要滚动的是AB,那么在容器里放的就是ABAB。那个外面的容器还要设置大小,然后将超出的内容隐藏。

这是我当年自己分析某人的JS图片滚动代码时总结的。

现在嘛都直接整jquery的插件了

④ js实现图片左右滚动

根据楼上做了点修改,这是用jquery,所以一定要链接jquery库。
<html>
<head>
<title></title>
<styletype="text/css">
body,ul,li{list-style:noneoutsidenone;padding:0;margin:0;}
#picScroll{width:350px;overflow:hidden;}
ul{width:1000%;}
ulli{float:left;}
liimg{width:100px;height:100px;}
</style>
<scripttype="text/javascript"src="jquery-1.4.2.min.js"></script>
</head>
<body>

<divid="picScroll">
<ul>
<li>
<a><imgsrc="../pic/1.jpg"/></a>
<a><imgsrc="../pic/2.jpg"/></a>
<a><imgsrc="../pic/3.jpg"/></a>
<a><imgsrc="../pic/4.jpg"/></a>
<a><imgsrc="../pic/5.jpg"/></a>
</li>
<li></li>
</ul>
</div>
<scripttype="text/javascript">
vartarget=$('#picScroll');//其实标准的写法是var$target=$('#picScroll');
varleft=0;
varspeed=30;

varli=$('#picScrollulli');
li.eq(1).html(li.eq(0).html());//复制第一个li节点内容,赋值给第二个li目的是为了实现无限循环滚动
functionMarqeen(){
if(li[0].offsetWidth<=left){
left-=li[0].offsetWidth;
}
else{
left++;
}
target.scrollLeft(left);
}
$(function(){
varmarQueen=window.setInterval(Marqeen,speed);
target.mouseover(function(){
clearInterval(marQueen);
});
target.mouseout(function(){
marQueen=window.setInterval(Marqeen,speed);
});
});
</script>
</body>
</html>


下面是用 js 写的,不用连接jquery库了,可以对比一下上面的jquery代码

<scripttype="text/javascript">
vartarget=document.getElementById('picScroll');
varleft=0;
varspeed=30;

varLI=target.getElementsByTagName('li');
LI[1].innerHTML=LI[0].innerHTML;
functionMarqeen(){

if(LI[0].offsetWidth<=left){
left-=LI[0].offsetWidth;
}
else{
left++;
}
target.scrollLeft=left;
}

varmarQueen=window.setInterval(Marqeen,speed);
target.mouseover=function(){
clearInterval(marQueen);
};
target.mouseout=function(){
marQueen=window.setInterval(Marqeen,speed);};
</script>

⑤ JS 图片滚动怎么做 求代码

<SCRIPT language=JavaScript>
function marquee1()
{
document.write("<div style='width:100%;overflow:hidden;' id=marquee onmouseover=clearInterval(repeat) onmouseout=repeat=setInterval(scrollMarquee,1)>")
}
function marquee2()
{
document.write("</div>")
marquee.childNodes[0].align='left';

if(marquee.childNodes[0].offsetWidth>marquee.offsetWidth) {
marquee.appendChild(marquee.childNodes[0].cloneNode(true));
}
else {
for(var i=0;i<Math.round(marquee.offsetWidth/marquee.childNodes[0].offsetWidth)+1;i++) {
marquee.appendChild(marquee.childNodes[0].cloneNode(true));
}
}
repeat=setInterval(scrollMarquee,1);
}
function scrollMarquee() {
if(marquee.scrollLeft<marquee.childNodes[0].offsetWidth)
marquee.scrollLeft++;
else
marquee.scrollLeft=0;
}
</SCRIPT>

<SCRIPT language=JavaScript>marquee1();</SCRIPT>
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>

<td><a href=/picture/00000133.asp target=_blank ><img border=0 height=67 src="http://www.51sql.com/articleimg/gundong1.jpg" alt="图片" ></a></td>

<td><a href=/picture/00000132.asp target=_blank ><img border=0 height=67 src="http://www.51sql.com/articleimg/gundong2.jpg" alt="图片7" ></a></td>

<td><a href=/picture/00000131.asp target=_blank ><img border=0 height=67 src="http://www.51sql.com/articleimg/gundong3.jpg" alt="图片6" ></a></td>

<td><a href=/picture/00000130.asp target=_blank ><img border=0 height=67 src="http://www.51sql.com/articleimg/gundong4.gif" alt="图片5" ></a></td>

<td><a href=/picture/00000129.asp target=_blank ><img border=0 height=67 src="http://www.51sql.com/articleimg/gundong4.gif" alt="图片4" ></a></td>

<td><a href=/picture/00000128.asp target=_blank ><img border=0 height=67 src="http://www.51sql.com/articleimg/gundong3.jpg" alt="图片3" ></a></td>

<td><a href=/picture/00000127.asp target=_blank ><img border=0 height=67 src="http://www.51sql.com/articleimg/gundong2.jpg" alt="图片2" ></a></td>

<td><a href=/picture/00000126.asp target=_blank ><img border=0 height=67 src="http://www.51sql.com/articleimg/gundong1.jpg" alt="图片1" ></a></td>

</tr>
</table>
<SCRIPT language=JavaScript>marquee2(); </SCRIPT>

⑥ JavaScript代码实现图片循环滚动效果

1.概述
循环滚动图片,不仅可以增添Web页面的动态效果,而且可以节省页面空间,有效地保证在有限的页面中显示更多的图片。
2.技术要点
主要应用setTimeout()方法实现图片的循环滚动效果。setTimeout()方法的语法格式如下:
setTimeout(function,milliseconds,[arguments])
参数说明:
a.
function:要调用的JavaScript自定义函数名称。
b.
Milliseconds:设置超时时间(以毫秒为单位)。
功能:经过超时时间后,调用函数。此值可以用clearTimeout()函数清除。
3.具体实现
(1)在页面的合适位置添加一个id属性为demo的<div>标记,并在该标记中添加表格及要要滚动显示的图片。关键代码如下:
<div
id="demo"
style="
overflow:
hidden;
width:
455px;
height:
166px;">
<table
border="0"
cellspacing="0"
cellpadding="0">
<tr>
<td
valign="top"
id="marquePic1">
<!--
要循环滚动的图片
-->
<table
width="455"
border="0"
align="center"
cellpadding="0"
cellspacing="0"
>
<tr
align="center">
<%for(int
i=1;i<8;i++){%>
<td>
<img
src="Images/<%=i%>.jpg"
width="118"
height="166"
border="1">
</td>
<%}%>
</tr>
</table>
</td>
<td
id="marquePic2"
width="1"></td>
</tr>
</table>
</div>
(2)编写自定义的JavaScript函数move(),用于实现无间断的图片循环滚动效果。speed数值越大图片滚动的越快,具体代码如下:
<script
language="javascript">
var
speed=30
;
//设置间隔时间
marquePic2.innerHTML=marquePic1.innerHTML;
var
demo=document.getElementById("demo");
//获取demo对象
function
Marquee(n){
//实现图片循环滚动的方法
if(marquePic1.offsetWidth-demo.scrollLeft<=0){
demo.scrollLeft=0;
}
else{
demo.scrollLeft=demo.scrollLeft+n;
}
}
var
MyMar=setInterval("Marquee(5)",speed);
demo.onmouseover=function()
{
//停止滚动
clearInterval(MyMar);
}
demo.onmouseout=function()
{
//继续滚动
MyMar=setInterval("Marquee(5)",speed);
}
</script>
以上所述是小编给大家介绍的JavaScript代码实现图片循环滚动效果的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

⑦ js实现图片自动的滚动效果

把你的代码放在“内容”中间就可以了 宽度600px,你自己可以改宽度
<DIV id=demoleft style="OVERFLOW: hidden; WIDTH:600px;">
<TABLE border="0" align="left" cellPadding="0" cellSpacing="0" cellspace="0">
<TBODY>
<TR>
<TD width="600" align=middle vAlign=top id=demo1left>
<!--内容-->
<table width="600" height="120" border="0" cellpadding="0" cellspacing="0">
<tr>
<%
set rs=server.CreateObject("adodb.recordset")
rs.open "select top 8 * from cp_aboutus where userid="&hid&" order by updatetime desc,articleid desc ",conn,1,1
if not rs.eof then
dim hang
hang = 0
do while not rs.eof
hang = hang + 1
%>
<td>
<table width="110" height="115" border="0" align="center" cellpadding="0" cellspacing="0" id="table12">
<tr>
<td width="110" height="87"><%if rs("headpic")<>"" then%><a href="huicpshow.asp?hid=<%=hid%>&id=<%=rs("articleid")%>" title="<%=rs("title")%>" target="_blank"><img src="<%=rs("headpic")%>" width="110" height="87" border="0" /></a><%else response.Write "<table width=110 height=87 border=0 cellpadding=0 cellspacing=0><tr><td height=23 bgcolor=#EBEBEB align=center>暂无图片</td></tr></table>" end if%></td>
</tr>

<tr>
<td align="center"><a href="huicpshow.asp?hid=<%=hid%>&id=<%=rs("articleid")%>" title="<%=rs("title")%>" target="_blank"><%=rs("title")%></a></td>
</tr>
</table>
</td>
<%
rs.movenext
loop
end if
rs.close
set rs=nothing
%>
</tr>
</table>

<!--end 内容-->
</TD>
<TD width="102" vAlign=top id=demo2left></TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<SCRIPT>
var speed=18//速度数值越大速度越慢,demo2.offsetWidth=demo1.offsetWidth=固定值
var demoleft = document.getElementById("demoleft");
var demo2left = document.getElementById("demo2left");
var demo1left = document.getElementById("demo1left");
demo2left.innerHTML=demo1left.innerHTML
function Marquee(){
if(demo2left.offsetWidth-demoleft.scrollLeft<=0)//其实demo.scrollLeft是有 最大值的,和demo0.width,引用的图片的width有关系。demo过了一半(每半内容一样的),重新开始循环
demoleft.scrollLeft-=demo1left.offsetWidth
else{
demoleft.scrollLeft++//不断的增加,相当于父容器的滚动条不断是缩小;但由于OVERFLOW: hidden; (滚动条不可见)
}
}
var MyMarleft=setInterval(Marquee,speed)
demoleft.onmouseover=function() {clearInterval(MyMarleft)}
demoleft.onmouseout=function() {MyMarleft=setInterval(Marquee,speed)}
</SCRIPT>

阅读全文

与js图片自动滚动相关的资料

热点内容
逍遥安卓微信验证 浏览:579
5g网络什么时候普及河北邢台 浏览:709
编程和运营哪个更适合创业 浏览:893
尤里x怎么升级 浏览:399
做业务绩效考核需要哪些数据 浏览:433
dnf85版本剑魔刷图加点 浏览:407
手机硬盘测试架可以读取哪些数据 浏览:704
ug前后处理结算结果找不到文件 浏览:769
网页框架拆分代码 浏览:382
未来十年网络安全有什么影响 浏览:362
win10更新后进不了剑灵 浏览:243
iphone471激活出错 浏览:648
怎么把文件拷到u盘 浏览:620
中伊签署文件视频 浏览:661
电信光宽带网络不稳定 浏览:504
网络岗软路由 浏览:995
黑莓z10在哪里下载app 浏览:310
net批量下载文件 浏览:696
怎么把苹果一体机文件拷贝 浏览:117
sql文件怎么写 浏览:9

友情链接