js實現(xiàn)文字無縫輪播
本文實例為大家分享了js實現(xiàn)文字無縫輪播的具體代碼,供大家參考,具體內(nèi)容如下
所用到的知識點:
innerHTML 獲取或設(shè)置某個對象的內(nèi)容
scrollTop 滾動條滾動的距離,此屬性是系統(tǒng)內(nèi)置定義好的
offsetHeight 獲取或設(shè)置對象的高度
setInterval() 開啟定時器
clearInterval() 關(guān)閉定時器
html布局結(jié)構(gòu)如下:
其中con2是用來儲存復(fù)制con1內(nèi)容的容器
<body> <div id="mooc"> <!-- 頭部 --> <h3 id="moocTitle">最新課程<a href="#" target="_self">更多>></a> </h3> <!-- 頭部結(jié)束 --> <!-- 中間 --> <div id="moocBox"> <ul id="con1"> <li><a href="#">1.學(xué)會html5 絕對的逆襲(案例)</a><span>2013-09-18</span></li> <li><a href="#">2.tab頁面切換效果(案例)</a><span>2013-10-09</span></li> <li><a href="#">3.圓角水晶按鈕制作(案例)</a><span>2013-10-21</span></li> <li><a href="#">4.HTML+CSS基礎(chǔ)課程(系列)</a><span>2013-11-01</span></li> <li><a href="#">5.分頁頁碼制作(案例)</a><span>2013-11-06</span></li> <li><a href="#">6.導(dǎo)航條菜單的制作(案例)</a><span>2013-11-08</span></li> <li><a href="#">7.信息列表制作(案例)</a><span>2013-11-15</span></li> <li><a href="#">8.下拉菜單制作(案例)</a><span>2013-11-22</span></li> <li><a href="#">9.如何實現(xiàn)“新手引導(dǎo)”效果</a><span>2013-12-06</span></li> </ul> <ul id="con2"> </ul> </div> <!-- 中間結(jié)束 --> </div> </body>
css樣式如下:
<style> body { ? ? font-size: 12px; ? ? line-height: 24px; ? ? text-algin: center; ? ? ? ?/* 頁面內(nèi)容居中 */ } * { ? ? margin: 0px; ? ? padding: 0px; ? ? ? ? ? ?/* ?去掉所有標(biāo)簽的marign和padding的值 ?*/ } ul { ? ? list-style: none; ? ? ? ? ? /* ?去掉ul標(biāo)簽?zāi)J(rèn)的點樣式 ?*/ } a img { ? ? border: none; ? ? ? ?/* ?超鏈接下,圖片的邊框 ?*/ } a { ? ? color: #333; ? ? text-decoration: none; ? ? /* 超鏈接樣式 */ } a:hover { ? ? color: #ff0000; } #mooc { ? ? width: 399px; ? ? border: 5px solid #ababab; ? ? -moz-border-radius: 15px; ? ? ?/* Gecko browsers */ ? ? -webkit-border-radius: 15px; ? /* Webkit browsers */ ? ? border-radius: 15px; ? ? box-shadow: 2px 2px 10px #ababab; ? ? margin: 50px auto 0; ? ? text-align: left; ? ? ? ? ? ? ? /* 讓新聞內(nèi)容靠左 */ } /* ?頭部樣式 */? #moocTitle { ? ? height: 62px; ? ? overflow: hidden; ?/* 這個一定要加上,內(nèi)容超出的部分要隱藏,免得撐高頭部 */ ? ? font-size: 26px; ? ? line-height: 62px; ? ? padding-left: 30px; ? ? background-image: -moz-linear-gradient(top, #f05e6f, #c9394a); /* Firefox */ ? ? background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f05e6f), color-stop(1, #c9394a)); /* Saf4+, Chrome */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8fa1ff', endColorstr='#f05e6f', GradientType='0'); /* IE*/ ? ? border: 1px solid ##f05e6f; ? ? -moz-border-radius: 8px 8px 0 0; ? ? ?/* Gecko browsers */ ? ? -webkit-border-radius: 8px 8px 0 0; ? /* Webkit browsers */ ? ? border-radius: 8px 8px 0 0; ? ? color: #fff; ? ? position: relative; } #moocTitle a { ? ? position: absolute; ? ? right: 10px; ? ? bottom: 10px; ? ? display: inline; ? ? color: #fff; ? ? font-size: 12px; ? ? line-height: 24px; } /* ?底部樣式 */ #moocBot { ? ? width: 399px; ? ? height: 10px; ? ? overflow: hidden; ? ? /* 這個一定要加上,內(nèi)容超出的部分要隱藏,免得撐高底部結(jié)構(gòu) */ } /* ?中間樣式 */ #moocBox { ? ? height: 144px; ? ? width: 335px; ? ? margin-left: 25px; ? ? margin-top: 10px; ? ? overflow: hidden; ? ?/* ?這個一定要加,超出的內(nèi)容部分要隱藏,免得撐高中間部分 */ } #mooc ul li { ? ? height: 24px; } #mooc ul li a { ? ? width: 180px; ? ? float: left; ? ? display: block; ? ? overflow: hidden; ? ? text-indent: 15px; ? ? height: 24px; } #mooc ul li span { ? ? float: right; ? ? color: #999; } </style>
js代碼如下:
<script> ? ? var area=document.getElementById('moocBox'); ? ? area.scrollTop=0;//scrollTop初始化對象滾動條的距離,此屬性是系統(tǒng)標(biāo)準(zhǔn)化的 ? ? //獲取第一個ul對象 ? ? var con1=document.getElementById('con1'); ? ? //獲取第二個ul對象 ? ? var con2=document.getElementById('con2'); ? ? //將第一個ul對象里的內(nèi)容給第二個ul對象 ? ? con2.innerHTML=con1.innerHTML; ? ? //封裝函數(shù) 用來判斷滾動條的距離與盒子高度的關(guān)系 ? ? function scrollUp(){ ? ? ? ? if(area.scrollTop>=con1.offsetHeight){ ? ? ? ? ? ? area.scrollTop=0; ? ? ? ? }else{ ? ? ? ? ? ? area.scrollTop++; ? ? ? ? } ? ? } ? ? //聲明定時器 ? ? var timer=null; ? ? //解決暴力用戶 在開啟定時器之前最好先清除一下定時器 ? ? clearInterval(timer); ? ? //開始定時器 ? ? timer=setInterval(scrollUp,50); ? ? //為對象設(shè)置綁定鼠標(biāo)滑過 ? ? area.onmouseover=function(){ ? ? ? ? clearInterval(timer); ? ? } ? ? //為對象綁定鼠標(biāo)劃出 ? ? area.onmouseout=function(){ ? ? ? ? timer=setInterval(scrollUp,50); ? ? } </script>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Javascript hasOwnProperty 方法 & in 關(guān)鍵字
hasOwnProperty :如果 object 具有指定名稱的屬性,那么方法返回 true;反之則返回 false。2008-11-11JavaScript代碼實現(xiàn)圖片循環(huán)滾動效果
這篇文章主要介紹了JavaScript代碼實現(xiàn)圖片循環(huán)滾動效果的相關(guān)資料,非常不錯,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2016-06-06JavaScript實現(xiàn)圓形進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)圓形進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08