让网页自动滚屏

                                             让网页自动滚屏

     陈莎

网页自动滚屏分为页面中的滚动字幕和整个网页自动滚动,页面中的滚动字幕可以用在网页“公告版”或“最新新闻”等信息的发布,而整个网页自动滚动适合用户浏览一篇长达数十页的网文,免去了用户手动翻页的麻烦。下面介绍这两种技术的实现方法:

一、页面中某块文字滚动
这种方法是巧妙地利用HTML语言提供的标题元素<marquee>...</marquee>来实现活动字幕效果。
该标记语法格式如下:
<marquee
aligh=left|center|right|top|bottom
bgcolor=#n
direction=left|right|up|down
behavior=type
height=n
hspace=n
scrollamount=n
Scrolldelay=n
width=n
VSpace=n
loop=n>
可以看出由于活动字幕的显示方式多种多样,可选的参数也很多。下面解释一下各参数的含义:
align:是设定活动字幕的位置,居左、居中、居右、靠上和靠下三种位置。
Bgcolor:用于设定活动字幕的背景颜色,一般是十六进制数。
Direction:用于设定活动字幕的滚动方向是向左、向右、向上、向下。
Behavior:用于设定滚动的方式,主要由三种方式:"scroll"、"slide"和"alternate"。
Height:用于设定滚动字幕的高度。
Width:则设定滚动字幕的宽度。
Hspace和vspace:分别用于设定滚动字幕的左右边框和上下边框的宽度。
Scrollamount:用于设定活动字幕的滚动距离。
scrolldelay:用于设定滚动两次之间的延迟时间。
Loop:用于设定滚动的次数,当loop=-1表示一直滚动下去,直到页面更新。
实现的源代码如下:
<html>
<body>
<div align="center">
<TABLE border=0 cellPadding=0 cellSpacing=0 height=157 width=320>
<TBODY>
<TR>
<TD height=156 vAlign=top width=320>
<marquee direction=up height=156 οnmοuseοut=this.scrollAmount=1 οnmοuseοver=this.scrollAmount=0
scrollAmount=1 scrolldelay=20 scrollleft="0" scrolltop="0">
滚动字幕字幕内容第一行<br>
滚动字幕字幕内容第二行<br>
滚动字幕字幕内容第三行<br>
...<br>
</marquee>
</td>
</tr>
</table>
</div>
</body>
</html>
当鼠标移到marquee区域,触发onmouseover事件,滚屏暂停。
当鼠标移出marquee区域,触发onmouseout事件,滚屏继续。
二、整个网页自动滚动
使用一段JavaScript代码,调用scroll函数,即可实现此功能。
实现方法:
把下面代码copy入你html文件的<head>和</head>中即可:
<script>
<!--
locate = 0;
function autoscroll()
{if (locate !=400 )
{locate++;scroll(0,locate);
clearTimeout(timer);
var timer = setTimeout("autoscroll()",3);timer;}
}
-->
</script>
把你html文件的<body>部分改为如下设置:
<body οnlοad="autoscroll()" >
说明:可通过改动locate的数值来控制显示页面的长度(原代码中为locate!=400)。将“setTimeout("autoscroll()",3);”中的“3”改为其它的数字可控制速度。
实现网页内容的滚屏还有许多其他的方法,诸如使用“图层(LAYER)”结合JavaScript等技术,可以让滚屏更灵活、平滑,读者可以自己试验,或许还会找出更方便有效的方法
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
QTextEdit自动滚屏的实现可以通过使用QTextCursor来定位内容的最后位置,并在每次内容更新信号发送后移动光标。下是一个简单的例子: ```cpp #include <QTextEdit> #include <QTimer> class TextEdit : public QTextEdit { Q_OBJECT public: TextEdit(QWidget *parent = 0); ~TextEdit(); private: QTimer *timer; public slots: void addText(); void autoScroll(); }; TextEdit::TextEdit(QWidget *parent) : QTextEdit(parent) { timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(addText())); connect(this, SIGNAL(textChanged()), this, SLOT(autoScroll())); } void TextEdit::addText() { // 添加新的文本内容 // ... // 移动光标到最后位置 QTextCursor cursor = textCursor(); cursor.movePosition(QTextCursor::End); setTextCursor(cursor); } void TextEdit::autoScroll() { // 自动滚动到最后位置 verticalScrollBar()->setValue(verticalScrollBar()->maximum()); } ``` 在这个例子中,我们创建了一个名为TextEdit的自定义QTextEdit类。在构造函数中,我们创建了一个定时器timer,并将其与addText()槽函数连接。addText()槽函数用于添加新的文本内容,并将光标移动到最后位置。我们还将textChanged()信号与autoScroll()槽函数连接,autoScroll()槽函数用于自动滚动到最后位置。 通过使用这个自定义的TextEdit类,你可以实现QTextEdit的自动滚屏功能。 #### 引用[.reference_title] - *1* *2* *3* [Qt4小技巧——QTextEdit自动滚屏](https://blog.csdn.net/a13393665983/article/details/102189035)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值