怎样让一个Table下的所有<tr>组滚动显示?- 用JQuery。
怎样让一个Table下的所有<tr>组滚动显示?- 用JQuery。
如例所示,每组<tr>都是一条数据,我想让数据从上到下滚动显示,当鼠标停留在数据上的时候暂定滚动。
- JScript code
<table class="class1" id="table1"> <tr><td .../><td .../></tr> <tr><td .../><td .../></tr> <tr><td .../><td .../></tr> ...</table>
[解决办法]
用EXT吧!只是见过,没有用过.
[解决办法]
function scrollNews() {
var areaEl = document.getElementById("lastNewsCon"),//放Table的层
areaHeight = 200,
conEl = document.getElementById("newsCon"),//Table
height = conEl.offsetHeight,
stopscroll = false;
globalParams.newsScroll.areaEl = areaEl;
globalParams.newsScroll.stopscroll = stopscroll;
globalParams.newsScroll.height = height;
//初始化滚动内容
if (!$.trim(conEl.innerHTML) || height < areaHeight)
return;
conEl.innerHTML += conEl.innerHTML;
conEl.onmouseover = function() {
globalParams.newsScroll.stopscroll = true;
return false;
}
conEl.onmouseout = function() {
globalParams.newsScroll.stopscroll = false;
return false;
}
window.setInterval("scrollUp()", 200);
}
function scrollUp() {
var p = globalParams.newsScroll;
if (p.stopscroll == true) return;
if (p.areaEl.scrollTop == p.height - 2)
p.areaEl.scrollTop = 0;
else
p.areaEl.scrollTop += 2;
}
[解决办法]
- JScript code
<script> //从下往上滚 function scroll1(){ var table = document.getElementById("table1").getElementsByTagName("tbody")[0];//$("#table1 > tbody").get(0) var row = table.firstChild; table.removeChild(row); table.appendChild(row); //可以通过ajax去取后面的数据 } //从上往下滚 function scroll2(){ var table = document.getElementById("table1").getElementsByTagName("tbody")[0]; var row = table.lastChild; table.removeChild(row); table.insertBefore(row,table.firstChild); } </script><table class="class1" id="table1" onmouseover="this.int=window.setInterval('scroll2()',1000)" onmouseout="window.clearInterval(this.int)"> <tr><td>aaa</td><td>aaa</td></tr> <tr><td>bbb</td><td>bbb</td></tr> <tr><td>ccc</td><td>ccc</td></tr> <tr><td>xxx</td><td>xxx</td></tr> <tr><td>yyy</td><td>yyy</td></tr> <tr><td>zzz</td><td>zzz</td></tr></table>
[解决办法]
<script type="text/javascript" language="javascript">
function Scroll(opt,callback){
scrollBox = $("#table1");
if(!opt) var opt={};
var _this=scrollBox.eq(0).find("tr:first");
var lineH=_this.find("td:first").height(), //获取行高
line=opt.line?parseInt(opt.line,10):parseInt(scrollBox.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度
speed=opt.speed?parseInt(opt.speed,10):5000, //卷动速度,数值越大,速度越慢(毫秒)
timer=opt.timer?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒)
if(line==0) line=1;
var upHeight=0-line*lineH;
//滚动函数
scrollUp=function(){
_this.animate({
marginTop:upHeight
},speed,function(){
for(i=1;i<=line;i++){
_this.find("td:first").appendTo(_this);
}
_this.css({marginTop:0});
});
}
//鼠标事件绑定
timerID = setInterval("scrollUp()",timer);
_this.hover(function(){
clearInterval(timerID);
},function(){
timerID = setInterval("scrollUp()",timer);
}).mouseout();
}
$(document).ready(function(){
Scroll({line:1,speed:600,timer:2000});
});
</script>
[解决办法]
[解决办法]
晕 你不会html???
- HTML code
<html><head><script> //从下往上滚 function scroll1(){ var table = document.getElementById("table1").getElementsByTagName("tbody")[0];//$("#table1 > tbody").get(0) var row = table.firstChild; table.removeChild(row); table.appendChild(row); //可以通过ajax去取后面的数据 } //从上往下滚 function scroll2(){ var table = document.getElementById("table1").getElementsByTagName("tbody")[0]; var row = table.lastChild; table.removeChild(row); table.insertBefore(row,table.firstChild); } </script></head><body><table class="class1" id="table1" onmouseover="this.int=window.setInterval('scroll2()',1000)" onmouseout="window.clearInterval(this.int)"> <tr><td>aaa</td><td>aaa</td></tr> <tr><td>bbb</td><td>bbb</td></tr> <tr><td>ccc</td><td>ccc</td></tr> <tr><td>xxx</td><td>xxx</td></tr> <tr><td>yyy</td><td>yyy</td></tr> <tr><td>zzz</td><td>zzz</td></tr></table></body></html>
[解决办法]
以下代码经过FF测试
注意配置jquery引用
- JScript code
<!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><script src="jquery-1.3.2.min.js"></script><script>$(function(){ //t=setTimeout("show()",1000); t=setInterval("show()",1000) $("#table1").mouseover(function(){ //alert($("#table1 tr:first").children("td:first").text()); //$("#table1 tr:first").appendTo($(this)); clearInterval(t); //window.clearInterval(this.int) }).mouseout(function(){ t=setInterval("show()",1000); //window.setInterval('scroll2()',1000) }) //window.setInterval('scroll2()',1000)})function show(){ $("#table1 tr:first").appendTo($("#table1")); //alert('aaaa'); //$("#table1 tr:first").appendTo($("#table1")); //$("#table1 tr:first").remove(); } </script></head><body><table id="table1"> <tr><td>aaa</td><td>aaa</td></tr> <tr><td>bbb</td><td>bbb</td></tr> <tr><td>ccc</td><td>ccc</td></tr> <tr><td>xxx</td><td>xxx</td></tr> <tr><td>yyy</td><td>yyy</td></tr> <tr><td>zzz</td><td>zzz</td></tr></table></body></html>
[解决办法]
额,忘了删除那些注释掉的没用的代码了,删掉后,其实很短的一段
[解决办法]
试了一下 ,classnameextendsjava 提供的代码不行。
[解决办法]
如果普通需求 我认为没必要用JS
- HTML code
<marquee direction="up" style="height:100px;" onmouseover="this.stop();" onmouseout="this.start();"> <table id="userlist" name="hh"> <tbody> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> </tr> <tr> <td>11</td> <td>22</td> <td>33</td> <td>44</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> </tr> <tr> <td>11</td> <td>22</td> <td>33</td> <td>44</td> </tr> </tbody> </table></marquee>