导航:首页 > 编程语言 > js列表滚动

js列表滚动

发布时间:2023-09-02 10:39:59

1. 如何用js实现在表格内横向滚动图片

<table valign=top width=770 >
<tr>
<td width=770 valign=top >
<div id="demo" style="overflow:hidden; width:770">
<table >
<tr>
<td valign="top" id="marquePic1">
<table width=770>
<tr align="top">
<td><table><tr>
<!--数目-->
<td ><a href="#" ><img alt="javascript 图片左右滚动效果代码" src="/act/thsiff10/images/ro01.jpg" border=0 ></a></td>
<td ><a href="#" ><img alt="javascript 图片左右滚动效果代码" src="/act/thsiff10/images/ro01.jpg" border=0 ></a></td>
<td ><a href="#" ><img alt="javascript 图片左右滚动效果代码" src="/act/thsiff10/images/ro01.jpg" border=0 ></a></td>
<td ><a href="#" ><img alt="javascript 图片左右滚动效果代码" src="/act/thsiff10/images/ro01.jpg" border=0 ></a></td>
<td ><a href="#" ><img alt="javascript 图片左右滚动效果代码" src="/act/thsiff10/images/ro01.jpg" border=0 ></a></td>
<td ><a href="#" ><img alt="javascript 图片左右滚动效果代码" src="/act/thsiff10/images/ro01.jpg" border=0 ></a></td>
<td ><a href="#" ><img alt="javascript 图片左右滚动效果代码" src="/act/thsiff10/images/ro01.jpg" border=0 ></a></td>
<!--数目-->
</tr></table></td>
</tr>
</table>
</td>
<td id=marquePic2 valign=top></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<script type="text/javascript">
var speed=30
marquePic2.innerHTML=marquePic1.innerHTML
function Marquee(){
if(demo.scrollLeft>=marquePic1.scrollWidth){
demo.scrollLeft=0
}else{
demo.scrollLeft++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>

内容要够多才会滚,你只放一两张图进去宽度不够就不会动。

2. 在js中怎么设置滚动条滚动的距离

如果使用jquery的话,可以这样写:

$(window).bind("scroll", function(){
var top = $(this).scrollTop(); // 当前窗口的滚动距离
});

如果使用原生js,可以这样写(摘自网上的):

/**
* 获取滚动条距离顶端的距离
* @return {}支持IE6
*/
function getScrollTop() {
var scrollPos;
if (window.pageYOffset) {
scrollPos = window.pageYOffset; }
else if (document.compatMode && document.compatMode != 'BackCompat')
{ scrollPos = document.documentElement.scrollTop; }
else if (document.body) { scrollPos = document.body.scrollTop; }
return scrollPos;
}

3. js如何写自己的滚动条

由于网页中使用到了iframe,如果iframe中的内容超过主页面的范围后,在的四周会出现滚动条,这样和主页面很不协调,所以在网上找了很久,终于找到一段代码可以解决这个问题,代码如下:
这段代码放在<head></head>之间:
<script language="Javascript">
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
//extra height in px to add to iframe in FireFox 1.0+ browsers
var FFextraWidth=getFFVersion>=0.1? 16 : 0
var FFextraHeight=getFFVersion>=0.1? 16 : 0
function dyniframesizeWidth(iframename) {
var pTar = null;
if (document.getElementById){
pTar = document.getElementById(iframename);
}
else{
eval('pTar = ' + iframename + ';');
}
if (pTar && !window.opera){
//begin resizing iframe
pTar.style.display="block"

if (pTar.contentDocument && pTar.contentDocument.body.offsetWidth){
//ns6 syntax
pTar.width = pTar.contentDocument.body.offsetWidth+FFextraWidth;
}
else if (pTar.Document && pTar.Document.body.scrollWidth){
//ie5+ syntax
pTar.width = pTar.Document.body.scrollWidth;
}
}
}
function dyniframesizeHeight(iframename) {
var pTar = null;
if (document.getElementById){
pTar = document.getElementById(iframename);
}
else{
eval('pTar = ' + iframename + ';');
}
if (pTar && !window.opera){
//begin resizing iframe
pTar.style.display="block"

if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){
//ns6 syntax
pTar.height = pTar.contentDocument.body.offsetWidth+FFextraHeight;
}
else if (pTar.Document && pTar.Document.body.scrollHeight){
//ie5+ syntax
pTar.height = pTar.Document.body.scrollHeight;
}
}
}
</script>
下边是在iframe中输入的代码:
<iframe id="displayresult" onload="javascript:{dyniframesizeHeight('displayresult');dyniframesizeWidth('displayresult');}" hspace="0" vspace="0" marginwidth=0 marginheight=0 frameborder=0 width=100% height=100% src="test.htm" scrolling=no name="displayresult"></iframe>
代码的关键是:设置id
调用js中的函数(dyniframesizeHeight(id)是设置高的滚动条自动调整,dyniframesizeWidth(id)是设置宽的滚动条的自动调整。)
将scrolling=no
其他就看实际应用做相应的修改了;

4. JS实现滚动条触底加载更多

原理

1.通过监听滚动睁悔区域DOM的scroll事件, 计算出触底

// 滚动可视区域高度 + 当前滚动位置 === 整个滚动高度
scrollDom.clientHeight + scrollDom.scrollTop === scrollDom.scrollHeight

2.触底后触发列表添加, 列表添加使用createDocumentFragment, 将多次插入的DOM先存入内存, 最后烂厅一次填充进去, 提高性能, 也方便后面的MutationObserver监听

3.使用MutationObserver监听列表的DOM添加, 添加完毕后, 隐藏加载中饥早隐提示

示例

https://codepen.io/klren0312/full/dybgayL

参考资料

https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientHeight
https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollHeight
https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollTop
https://developer.mozilla.org/zh-CN/docs/Web/API/GlobalEventHandlers/onscroll
https://developer.mozilla.org/zh-CN/docs/Web/API/Document/createDocumentFragment
https://developer.mozilla.org/zh-CN/docs/Web/API/MutationObserver

5. 通过JS,将列表实现5秒滚动

改成:

vartop=parseInt(hotListDiv.style.top);
if(top<=-700){
hotListDiv.style.top="0px";
}
else{
hotListDiv.style.top=(top-70)+"px";
}
阅读全文

与js列表滚动相关的资料

热点内容
90版本升级不送 浏览:186
工具箱英文 浏览:382
南翔嘉定编程课哪里好 浏览:853
win10改变文件格式 浏览:475
linux中的物理地址和虚拟地址 浏览:493
有哪些app可以接游戏订单 浏览:472
苹果硬盘数据恢复要多少钱 浏览:394
js绑定下拉框数据库数据 浏览:448
cad文件怎么复制到另一个文件里边 浏览:858
dxp钻孔文件 浏览:631
iphone大悦城换机 浏览:538
找结婚对象上什么网站 浏览:974
学生信息管理系统程序设计报告 浏览:640
微信文件怎么删除怎么恢复 浏览:407
编程程序怎么复制 浏览:467
文件更改 浏览:327
冰点文件路径 浏览:730
软件一点开文件就关闭 浏览:88
网络如何把人捧红 浏览:961
软件传输文件 浏览:184

友情链接