使用jquery及javascript实现文本滚动效果

本文介绍了一种使用jQuery和JavaScript实现的文本滚动效果。通过创建HTML结构,并结合jQuery的动画功能,实现了列表项的自动滚动。当鼠标悬停在滚动区域上时,滚动会暂停。
[b]使用jquery及javascript实现文本滚动效果 [/b]


<html>
<head>
<style type="text/css">
.body{
font-family: Arial, Helvetica, sans-serif, "宋体";
font-size: 12px;
line-height: 1.7em;
background-color: #FFFFFF;
background-image: url(../../image/bg.gif);
background-repeat: repeat-x;
background-position: top;
margin-top: 0px;
margin-left: 0px;
}
.scrollDiv {border: 1px #fff solid;width: 200px; height:192px;overflow: hidden;}
.scrollDiv ul{height: 25px;line-height: 25px;margin: 0;padding: 0;}
.scrollDiv li{line-height: 25px; padding-left: 5px; overflow: hidden;}
.table {background-color: #dae8f0;border: 1px solid #99ccff;}
.table_content {background-color: #FFFFFF;border: 1px solid #b8c4d8;}
</style>
</head>
<body class="body">
<table width="100%" border="0" cellpadding="3" cellspacing="2" class="table">
<tr>
<td>
<strong>信息列表</strong>
</td>
</tr>
<tr>
<td class="table_content">
<div id="scrollDiv" class="scrollDiv">
</div>
</td>
</tr>
</table>

<script language=JavaScript>
function refreshData_gs()
{
var ScrollText = "";
ScrollText += "<ul>";

ScrollText+="<li style=\"word-break: break-all; word-wrap:break-word;\" ><label>1.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!</label></li>";
ScrollText+="<li style=\"word-break: break-all; word-wrap:break-word;\" ><label>2.bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb!</label></li>";
ScrollText+="<li style=\"word-break: break-all; word-wrap:break-word;\" ><label>3.cccccccccccccccccccccccccccccccccccccccccccccccccc!</label></li>";
ScrollText+="<li style=\"word-break: break-all; word-wrap:break-word;\" ><label>4.ddddddddddddddddddddddddddd!</label></li>";
ScrollText+="<li style=\"word-break: break-all; word-wrap:break-word;\" ><label>5.eeeeeeeee!</label></li>";
ScrollText+="<li style=\"word-break: break-all; word-wrap:break-word;\" ><label>6.ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff!</label></li>";
ScrollText+="<li style=\"word-break: break-all; word-wrap:break-word;\" ><label>7.ggggggggggggggggggggggggggggggggg</li>";
ScrollText+="<li style=\"word-break: break-all; word-wrap:break-word;\" ><label>8.hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh!</label></li>";


ScrollText += "</ul>";
document.getElementById("scrollDiv").innerHTML=ScrollText;
}

function getData_GS()
{
refreshData_gs();
}

getData_GS();
</script>

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type='text/javascript'>

function AutoScroll(obj) {

var lineH=$(obj).find("li:first").height();
var upHeight=0-(lineH);
var ulHeight = $(obj).find("ul:first").height();
var lines = $(obj).find("ul li").size();
//alert("li:first height :" + lineH);
//alert("ul:first height :" + ulHeight);

var scrollLines = lineH;
var scrollH = $(obj).height();
var scrollLis = 1;
var currLiHeight;

//alert("scrollH :" + scrollH);
//alert("scrollLines :" + scrollLines);

for(var i=1;i<lines;i++){
var currLi = $(obj).find("ul li:eq("+i+")");
currLiHeight = currLi.height();

if((currLiHeight + scrollLines) <= scrollH){
//alert("i :" + i + "\ncurrLiHeight :" + currLiHeight);
scrollLines += currLiHeight;
upHeight -= currLiHeight;
scrollLis += 1;
}else{
break;
}
}
//alert("scrollLines :" + scrollLines + "\nupHeight :" + upHeight + "\nscrollLis :" + scrollLis);

$(obj).find("ul:first").animate(
{marginTop:upHeight},
500,
function () {
for(i = 1; i <= scrollLis; i++){
$(this).css({ marginTop: "0px" }).find("li:first").appendTo(this);
}
}
);
}

var s = true;
var t = 0;
function startli() {
if (s) t = setInterval('AutoScroll(".scrollDiv")', 3000);
}

$(document).ready(function () {
startli();
$(".scrollDiv").hover(function () {
clearInterval(t);
var s = false;
}, function () {
s= true;
startli();
});
})
</script>
</body>
</html>

基于模拟退火的计算器 在线运行 访问run.bcjh.xyz。 先展示下效果 https://pan.quark.cn/s/cc95c98c3760 参见此仓库。 使用方法(本地安装包) 前往Releases · hjenryin/BCJH-Metropolis下载最新 ,解压后输入游戏内校验码即可使用。 配置厨具 已在2.0.0弃用。 直接使用白菜菊花代码,保留高级厨具,新手池厨具可变。 更改迭代次数 如有需要,可以更改 中39行的数字来设置迭代次数。 本地编译 如果在windows平台,需要使用MSBuild编译,并将 改为ANSI编码。 如有条件,强烈建议这种本地运行(运行可加速、可多次重复)。 在 下运行 ,是游戏中的白菜菊花校验码。 编译、运行: - 在根目录新建 文件夹并 至build - - 使用 (linux) 或 (windows) 运行。 最后在命令行就可以得到输出结果了! (注意顺序)(得到厨师-技法,表示对应新手池厨具) 注:linux下不支持多任务选择 云端编译已在2.0.0弃用。 局限性 已知的问题: - 无法得到最优解! 只能得到一个比较好的解,有助于开阔思路。 - 无法选择菜品数量(默认拉满)。 可能有一定门槛。 (这可能有助于防止这类辅助工具的滥用导致分数膨胀? )(你问我为什么不用其他语言写? python一个晚上就写好了,结果因为有涉及json读写很多类型没法推断,jit用不了,算这个太慢了,所以就用c++写了) 工作原理 采用两层模拟退火来最大化总能量。 第一层为三个厨师,其能量用第二层模拟退火来估计。 也就是说,这套方法理论上也能算厨神(只要能够在非常快的时间内,算出一个厨神面板的得分),但是加上厨神的食材限制工作量有点大……以后再说吧。 (...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值