国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

原生JS實現(xiàn)列表內(nèi)容自動向上滾動效果

2019-11-19 11:29:51
字體:
供稿:網(wǎng)友

效果展示

(鼠標(biāo)移入,滾動停止;鼠標(biāo)移出,滾動繼續(xù))

實現(xiàn)原理

  1. html結(jié)構(gòu):核心是ul > li,ul外層包裹著div。因為想要內(nèi)容循環(huán)滾動無縫銜接,所以在原有ul后面還要有一個一樣內(nèi)容的ul。如下圖:

     (紅色邊框為可視區(qū)域div,此處為了方便查看效果去除overflow:hidden;)

  2. 樣式方面:由于要滾動,所以必須2個ul的高度 > 外層可視div高度,且div必須設(shè)置overflow:hidden;

代碼實現(xiàn)

HTML:

 <div id="review_box">  <ul id="comment1">   <li>第一條</li>   <li>第二條</li>   <li>第三條</li>   <li>第四條</li>   <li>第五條</li>   <li>第六條</li>  </ul>  <ul id="comment2"></ul> </div>

CSS:

 * {  margin: 0;  padding: 0; } div {  width: 100px;  height: 63px; /* 必須 */  overflow: hidden;/* 必須 */  margin: 50px auto;  border: 1px solid red;  text-align: center; } ul {  list-style: none; }

JavaScript:

window.onload = roll(50); function roll(t) {  var ul1 = document.getElementById("comment1");  var ul2 = document.getElementById("comment2");  var ulbox = document.getElementById("review_box");  ul2.innerHTML = ul1.innerHTML;  ulbox.scrollTop = 0; // 開始無滾動時設(shè)為0  var timer = setInterval(rollStart, t); // 設(shè)置定時器,參數(shù)t用在這為間隔時間(單位毫秒),參數(shù)t越小,滾動速度越快  // 鼠標(biāo)移入div時暫停滾動  ulbox.onmouseover = function () {   clearInterval(timer);  }  // 鼠標(biāo)移出div后繼續(xù)滾動  ulbox.onmouseout = function () {   timer = setInterval(rollStart, t);  } } // 開始滾動函數(shù) function rollStart() {  // 上面聲明的DOM對象為局部對象需要再次聲明  var ul1 = document.getElementById("comment1");  var ul2 = document.getElementById("comment2");  var ulbox = document.getElementById("review_box");  // 正常滾動不斷給scrollTop的值+1,當(dāng)滾動高度大于列表內(nèi)容高度時恢復(fù)為0  if (ulbox.scrollTop >= ul1.scrollHeight) {   ulbox.scrollTop = 0;  } else {   ulbox.scrollTop++;  } }

總結(jié)

以上所述是小編給大家介紹的原生JS實現(xiàn)列表內(nèi)容自動向上滾動效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 抚远县| 富川| 宁安市| 二手房| 清苑县| 夹江县| 抚松县| 宁强县| 泰和县| 会东县| 新邵县| 鹰潭市| 文水县| 辽阳县| 德惠市| 临高县| 湘潭县| 海盐县| 瑞安市| 平和县| 元阳县| 清新县| 监利县| 沙湾县| 乐山市| 赣州市| 沧州市| 广元市| 金堂县| 搜索| 新巴尔虎右旗| 高台县| 彭州市| 汝南县| 百色市| 积石山| 唐河县| 肇源县| 呼伦贝尔市| 观塘区| 浑源县|