文字横向滚动

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
    <title>js实现文字超过显示宽度每间隔1s自动向左滚动显示</title>
    <style type="text/css">
    * {
        margin: 0;
        padding: 0;
    }

    body {
        max-width: 640px;
        margin: 0 auto;
    }

    .pad_right {
        padding-right: 2em;
    }

    #scroll_div {
        height: 26px;
        overflow: hidden;
        white-space: nowrap;
        width: 535px;
        margin-left: 10px;
    }

    #scroll_begin,
    #scroll_end {
        display: inline;
    }
    </style>
</head>

<body>
    <div id="scroll_div" class="fl">
        <div id="scroll_begin">
            恭喜793765***获得 <span class="pad_right">50元巨人点卡奖励</span> 恭喜793765***获得 <span class="pad_right">50元巨人点卡奖励</span> 恭喜793765***获得 <span class="pad_right">50元巨人点卡奖励</span> 恭喜793765***获得 <span class="pad_right">50元巨人点卡奖励</span> 恭喜793765***获得 <span class="pad_right">50元巨人点卡奖励</span> 恭喜793765***获得 <span class="pad_right">50元巨人点卡奖励</span> 恭喜793765***获得 <span class="pad_right">50元巨人点卡奖励</span>
        </div>
        <div id="scroll_end"></div>
    </div>
    <script type="text/javascript">
    //文字横向滚动
    function ScrollImgLeft() {
        var speed = 50;
        var MyMar = null;
        var scroll_begin = document.getElementById("scroll_begin");
        var scroll_end = document.getElementById("scroll_end");
        var scroll_div = document.getElementById("scroll_div");
        scroll_end.innerHTML = scroll_begin.innerHTML;

        function Marquee() {
            if (scroll_end.offsetWidth - scroll_div.scrollLeft <= 0)
                scroll_div.scrollLeft -= scroll_begin.offsetWidth;
            else
                scroll_div.scrollLeft++;
        }
        MyMar = setInterval(Marquee, speed);
        scroll_div.onmouseover = function() {       
            clearInterval(MyMar);     
        }    
        scroll_div.onmouseout = function() {       
            MyMar = setInterval(Marquee, speed);         
        }
    }
    ScrollImgLeft();
    </script>
</body>

</html>

效果图:

原链接:http://www.jb51.net/article/74683.htm

 二、垂直滚动:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>垂直滚动</title>
    <style type="text/css">
    #gongao {
        width: 1000px;
        height: 110px;
        overflow: hidden;
        line-height: 30px;
        font-size: 13px;
        font-family: ‘宋体‘;
        background: #DDE5ED;
        color: #0C77CF;
        font-weight: bold;
    }
    </style>
</head>

<body>
    <script type="text/javascript">
    //要想滑动不停  scroll_begin的内容高度必须大于scroll_div的高度
    function ScrollImgLeft() {
        var speed = 50;
        var scroll_begin = document.getElementById("scroll_begin");
        var scroll_end = document.getElementById("scroll_end");
        var scroll_div = document.getElementById("scroll_div");
        scroll_end.innerHTML = scroll_begin.innerHTML;

        function Marquee() {
            //scrollTop滑动条起点向下滑动的距离 当滑动条滑动的距离为一个div的高度时 即一个div显示完后
            //迅速重置滑动条的起点为最上端 重新显示第一个div内容 视觉上达到滚动的效果
            if (scroll_end.offsetHeight - scroll_div.scrollTop <= 0)
                scroll_div.scrollTop -= scroll_begin.offsetHeight;
            else
                scroll_div.scrollTop++;
        }
        var MyMar = setInterval(Marquee, speed);
        scroll_div.onmouseover = function() { clearInterval(MyMar); }
        scroll_div.onmouseout = function() { MyMar = setInterval(Marquee, speed); }
    }
    </script>
    <div id="gongao">
        <div style="width:200px;height:100px;margin:0 auto;white-space: nowrap;overflow:auto;" id="scroll_div" class="scroll_div">
            <div id="scroll_begin">
                <table>
                    <tr>
                        <td>1.111jjdkkdl经典款进口</td>
                    </tr>
                    <tr>
                        <td>2.222kdal经济快递就经济快递来</td>
                    </tr>
                    <tr>
                        <td>3.333jjdkkdl经典款进口</td>
                    </tr>
                    <tr>
                        <td>4.444kdal经济快递就经济快递来</td>
                    </tr>
                    <tr>
                        <td>5.555jjdkkdl经典款进口</td>
                    </tr>
                    <tr>
                        <td>6.666kdal经济快递就经济快递来</td>
                    </tr>
                </table>
            </div>
            <div id="scroll_end"></div>
        </div>
        <script type="text/javascript">
        ScrollImgLeft();
        </script>
    </div>
</body>

</html>

效果图:

附加知识:

对象的几个的属性:
innerHTML:设置或获取位于对象起始和结束标签内的 HTML
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
offsetWidth:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度

1.向左滚动

if(scroll_end.offsetWidth-scroll_div.scrollLeft
向左滚动
ScrollImgLeft();

2.向上滚动

if(scroll_end.offsetTop-scroll_div.scrollTop
向上滚动
ScrollImgTop();

原文地址:https://www.cnblogs.com/huanghuali/p/8510019.html

时间: 2024-08-25 15:01:18

文字横向滚动的相关文章

jQuery实现文字横向滚动效果

HTML代码: <div id="aaa" style="width:100px; position:relative; white-space:nowrap; overflow:hidden; height:20px;"> <div id="noticeList" style="position:absolute; top:0; height:20px;"> <span>jQuery文字横

js实现文字横向滚动

页面布局      <div id="scroll_div" class="fl">         <div id="scroll_begin">            恭喜793765***获得 <span class="pad_right">50元巨人点卡奖励</span>            恭喜793765***获得 <span class="pad_

textview文字横向滚动

<TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center_vertical" android:singleLine="true" //设置单行 android:ellipsize="marquee" /

iOS文字滚动效果 之横向滚动

原文链接: iOS文字滚动效果 之横向滚动 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区   QQ群号:413102158

Android TextView 横向滚动(跑马灯效果)

Android TextView 中当文字比较多时希望它横向滚动显示,下面是一种亲测可行的方法. 效果图: 1.自定义TextView,重写isFocused()方法返回true,让自定义TextView一直处于获取焦点状态. package com.example.shen.marqueedemo; import android.content.Context; import android.util.AttributeSet; import android.widget.TextView;

4个74HC595级联控制16x16点阵横向滚动带仿真(二)

废话 续上篇 <4个74HC595级联控制16x16点阵横向滚动带仿真(一)> 将横向滚动的程序分享给QQ群里后,群内的晚秋兄弟提出了另一种思路——采用行扫描.移位方式做滚动,于是熬夜将其实现了一下.仿真程序还是跟前篇一样,不再赘述. 效果预览 代码 /** ********************************************************** ****** Copyright(C), 2010-2016,吐泡泡的虾 ****** ****************

4个74HC595级联控制16x16点阵横向滚动

废话: 淘宝买的51开发板16*16点阵屏是4个74HC595级联控制,这样方便更改行.列刷新模式,但速度较慢,容易产生闪烁感.而且配套教程太垃圾,..太多槽点就不吐槽了,全靠自力更生,新手初学,个中辛苦就不谈了. 教程没有横向滚动的例程,于是自己写了一个,记录一下.也画了个Protues的原理图,供没有这款开发板的朋友研究. 原理图: DSN文件下载地址链接: http://pan.baidu.com/s/1qYzTOHQ 密码: j4yh 代码: /** ******************

纯代码实现横向滚动的UIScrollView

// 纯代码实现横向滚动的UIScrollView //  NeedListViewController.m // // //  Copyright © 2016年  All rights reserved. // #import "CFNeedListViewController.h" #import "CFWaitingViewController.h" #import "CFRespondedViewController.h" #impor

微信小程序-scroll-view横向滚动和上拉加载

今天介绍微信小程序中scroll-view实现横向滚动和上拉加载的实现及需要注意的地方. 先看最终效果. 横向滚动 1.设置滚动项display:inline-block; 2.设置滚动视图容器white-space: nowrap; 3.滚动项不要用float 为什么会有以上三点要求呢? 其实横向滚动官方文档中是没有做太多说明的,只说明需要定义scroll-view滚动方向scroll-x=true允许横向滚动,但是我在实践的时候我发现,你要横向滚动,首先你得是一排吧.所以才发现需要定义滚动项