WEB前端:05_scroll滚动(图片/文字滚动)

scroll滚动(图片/文字滚动)

网站常用效果之一,以下为简化版,用于学习javascript基础知识。

效果图:

scroll滚动(图片/文字滚动)- 纯JS简化版

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

<html>

<head>

<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">

<title>scroll滚动 - 纯js简化版</title>

<style type="text/css">

*{margin: 0; padding: 0;}

#probox{ position: relative; border: 1px solid #ccc; width:1000px;overflow:hidden;height:120px; margin: 10px auto;}

#prolist{ position: relative; width:2000px; height: 120px; list-style: none; margin: 0; padding: 0;}

#prolist li {float: left; width: 250px; height: 120px; text-align: center;}

#left,#right{ background: #333; color: #fff; padding: 5px; cursor:pointer;}

</style>

<script type="text/javascript">

window.onload = function() {

    var
probox = document.getElementById(‘probox‘);

    var
prolist = document.getElementById(‘prolist‘);

    var
prolistli = prolist.getElementsByTagName(‘li‘);

    var
btnleft = document.getElementById(‘left‘);

    var
btnright = document.getElementById(‘right‘);

    var
cut = prolistli[1].offsetLeft - prolistli[0].offsetLeft;

    var
len = prolist.offsetLeft;

    var
timer = null;

    function
autoplay() {

        if(timer) {

            clearInterval(timer);

        }

        timer = setInterval(function() {

            if(prolist.offsetLeft == -cut) {

                clearInterval(timer);

                prolist.appendChild(prolistli[0]);

                prolist.style.left = "0px";

            } else
{

                prolist.style.left = prolist.offsetLeft - 10 + "px";

            }

        }, 30)

    }

    probox.onmouseover = function() {

        clearInterval(o);

    }

    probox.onmouseout = function() {

        o = setInterval(autoplay, 3000);

    }

    btnleft.onclick = function() {

        clearInterval(o);

        if(timer) {

            clearInterval(timer);

        }

        

        timer = setInterval(function() {

            if(prolist.offsetLeft == 0) {

                clearInterval(timer);

                prolist.insertBefore(prolistli[prolistli.length - 1], prolist.firstChild);

                prolist.style.left = -cut + "px";

            } else
{

                prolist.style.left = prolist.offsetLeft + 10 + "px";

            }

        }, 30);

        o = setInterval(autoplay, 3000);

    }

    btnright.onclick = function() {

        clearInterval(o);

        if(timer) {

            clearInterval(timer);

        }

        timer = setInterval(function() {

            if(prolist.offsetLeft == -cut) {

                clearInterval(timer);

                prolist.appendChild(prolistli[0]);

                prolist.style.left = "0px";

            } else
{

                prolist.style.left = prolist.offsetLeft - 10 + "px";

            }

        }, 30);

        o = setInterval(autoplay, 3000);

    }

    o = setInterval(autoplay, 3000);

}

</script>

</head>

<body>

<div id="probox">

    <ul id="prolist">

        <li><img src="tab1.jpg"
width="220"
height="120"
/></li>

        <li><img src="tab2.jpg"
width="220"
height="120"
/></li>

        <li><img src="tab3.jpg"
width="220"
height="120"
/></li>

        <li><img src="tab4.jpg"
width="220"
height="120"
/></li>

        <li><img src="tab5.jpg"
width="220"
height="120"
/></li>

        <li><img src="tab6.jpg"
width="220"
height="120"
/></li>

        <li><img src="tab7.jpg"
width="220"
height="120"
/></li>

        <li><img src="tab8.jpg"
width="220"
height="120"
/></li>

    </ul>

</div>

<span id="left">上一个</span> <span id="right">下一个</span>

</body>

</html>

WEB前端:05_scroll滚动(图片/文字滚动)

时间: 2024-08-08 18:08:49

WEB前端:05_scroll滚动(图片/文字滚动)的相关文章

图片文字滚动插件jQuery Scrollbox

图片文字滚动插件jQuery Scrollbox附件中提供了五种图片.文字滚动样式,只需调用jquery库和jQuery Scrollbox插件,然后再加一段简单的jquery代码即可使用,兼容性良好,冲突的概率比较低. 在线演示本地下载 原文地址:https://www.cnblogs.com/wwhhq/p/8270745.html

值得收藏的Web前端精美相册图片展示(下)

4. jquery图片相册插件 能在支持 FireFox.Chrome.Safari.傲游.搜狗.360浏览器. 源码下载/   在线演示 5.  js向上推送幻灯片 源码下载  /  在线演示 6.  jQuery画廊插件 源码下载 /  在线演示 7. jquery图片闪光幻灯片 源码下载/   在线演示 值得收藏的Web前端精美相册图片展示(下)

10款web前端动感的图片动画效果

1.Salvattore:CSS 驱动的 jQuery Masonry 插件 Salvattore 是一个 jQuery 砌体的替代,使用 CSS 驱动的配置.Salvattore 根据您指定的列数组织你的 HTML 元素.容器中的每一个项目会一个接一个被放置在列内,只需要简单地添加一个 data-columns 属性.在你的 CSS 文件中,你可以设置你想为元素创建的列数.要创建一个具有响应性的柱状设计,只需使用媒体查询.项目附加在同一容器的前面,不会发生冲突.您可以结合 XHR 功能的 AP

Web前端之高斯模糊图片记

题记 前端需求之高斯模糊图片 最近工作中有一个需求,客户提交图片,服务器根据图片生成内容,并将内容显示,要求高斯模糊处理用户的图片并作为作品展示的背景,类似于苹果设备上的高斯模糊背景.用户提交的图片分网络图片地址.终端设备上传两种.要求兼容各大浏览器. 解决方案一:CSS3滤镜 在CSS3 中规定了一个新的图形特效:filter ,可以对元素进行模糊.锐化或者元素变色. filter 目的是用来调整图片.背景和边界的渲染. 在CSS3 中已经实现了filter 的一些预定义函数,MDN 中介绍如

web前端性能优化-图片优化实战分享

说在开头 项目做完顺利上线了.上线之前的2天做了一点性能上的优化.由于我们这个项目最主要的就是图片.所以,就准备对自己负责的模块的图片和图标进行适当的优化.因为以前看过雅虎军规.所以主要从减少请求数量,图片压缩,以及cssSprite对图片进行一些处理. 重点 请求数量 由于项目开发的时候为了赶进度,所以的icon和图片都是单独一个一个的:看了一些自己负责的会员中心登录和搜索,居然图片有240多张:这就意味着要请求200多次才能加载完所有的图片. 比较突出的就是会员中心首页,大概有图片20几个,

基于HTML5+CSS3的图片旋转、无限滚动、文字跳动特效

本文分享几种基于HTML5+CSS3实现的一些动画特效:图片旋转.无限滚动.文字跳动;实现起来均比较容易,动手来试试! 一.图片旋转 效果图如下: 这个效果实现起来其实并不困难.代码清单如下: <style type="text/css"> #liu{ width:280px; height: 279px; background: url(shishi.png) no-repeat; border-radius:140px; -webkit-animation:run 6s

jQuery练手:仿新浪微博图片文字列表淡进淡出上下滚动效果

1.效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动 2.实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下滚动效果播放就是li标签里面的内容图片和文字把每一个li看成一个整体在滚动播放的时候进入div内的显示出来在最后离开div的时候隐藏在给整个动画效果设定一个时间就可以完整的运行. 3.运行环境 IE6 IE7 IE8及以上 Firefox 和 Google Chrome游览器下都可实现 4.所有图片

jquery 文字滚动大全 scroll 支持文字或图片 单行滚动 多行滚动 带按钮控制滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jQuery文字和图片列表滚动插件

这是一款可以使任何文字和图片列表进行水平和垂直滚动的jQuery插件.该jquery列表滚动插件可以使用任何列表.任何尺寸和任何内容.它可以设置水平和垂直滚动,自动滚动和无限循环滚动,非常适用于滚动新闻的制作. 该jQuery文字图片滚动插件的特点和一些注意事项如下: 使用非常简单. 可以在任何形式的列表. 列表中的元素可以是文字.图片等等. 列表中的元素不能是固定定位,或者是相同的元素. 列表元素可以水平或垂直滚动. 可以使列表简单滚动或无限循环滚动. 可以手动滚动列表,也可是设置为自动滚动.