|
|
|
อยากหยุด loop Interval (javascript) น่ะครับผม คือ อยากให้มันหยุดแค่ข้อความสุดท้ายใน code ตัวอย่างน่ะครับผม อันนี้มัน ไม่หยุดเลยน่ะครับ |
|
|
|
|
|
|
|
เอา tag ภาษา ครอบ code ไว้หน่อย จะได้อ่านง่ายและก๊อปปี้มาแก้ไขได้
|
|
|
|
|
Date :
2017-12-03 21:14:45 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<html>
<head
<!-- แก้ไขรูปแบบกล่องด้านล่างครับ -->
<style>
#jump_base {
overflow-y:hidden;
width: 200px;
height: 100px;
border: 2px dotted #000099;
margin: auto;
padding: 0 10px 0 10px;
font-size: .9em;
font-family: MS Sans Serif;
}
#jump_base a {
color: #000099;
background-color: inherit;
}
.news {
background-color: #DDDDDD;
color: inherit;
}
</style>
<script type="text/javascript">
/* การเพิ่มข้อความที่จะให้แสดง ก็ให้เพิ่ม CODE บรรทัดด้านล่างลงไป
arrLinks[3] = "someURL.htm";
arrTitles[3] = "Some title";
ตรงเลข 3 คือเลขที่ต่อจากอันข้างบน (ในที่นี้คือ 2)
*/
function setupLinks() {
arrLinks[0] = "http://www.codetukyang.com";
arrTitles[0] = "หน้าหลัก";
arrLinks[1] = "http://www.codetukyang.com/php";
arrTitles[1] = "แจก PHP SCRIPT";
arrLinks[2] = "http://www.codetukyang.com/java";
arrTitles[2] = "แจก JAVASCRIPT";
}
var m_iInterval;
var m_Height;
//window.onload = wl;
var iScroll=0;
var arrLinks;
var arrTitles;
var arrCursor = 0;
var arrMax;
window.onload=wl;
function wl() {
m_iInterval = setInterval(ontimer, 10);
var base = document.getElementById("jump_base");
m_Height = base.offsetHeight;
var divi = parseInt(m_Height/5);
m_Height = divi*5;
var td1 = document.getElementById("td1");
var td2 = document.getElementById("td2");
var td3 = document.getElementById("td3");
td1.height = m_Height-5;
td2.height = m_Height-5;
td3.height = m_Height-5;
arrLinks = new Array();
arrTitles = new Array();
setupLinks();
arrMax = arrLinks.length-1;
setLink();
}
function setLink() {
var ilink = document.getElementById("jump_link");
ilink.innerHTML = arrTitles[arrCursor];
ilink.href = arrLinks[arrCursor];
}
function ontimer() {
var base = document.getElementById("jump_base");
iScroll+=5;
if (iScroll>(m_Height*2)) {
iScroll=0;
arrCursor++;
if (arrCursor>arrMax)
arrCursor=0;
setLink();
}
if (iScroll==m_Height) {
pause();
m_iInterval = setTimeout(resume,2000);
}
base.scrollTop=iScroll;
}
function pause() {
clearInterval(m_iInterval);
}
function resume() {
m_iInterval = setInterval(ontimer, 10);
}
</script>
</head>
<body>
<div id="jump_base" class="news"
onmouseover="pause()" onmouseout="resume()">
<center>
<table class="news">
<tr>
<td id="td1"></td></tr>
<tr><td id ="td2" valign="middle">
<a id="jump_link" href="" target="_new"></a></td></tr>
<tr><td id="td3"> </td></tr>
</table>
</center>
</div>
</body>
</html>
|
|
|
|
|
Date :
2017-12-03 21:32:13 |
By :
phpstarter |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code ด้านบนน่ะครับพี่ ผมไม่รู้จะใส่ clearInterval(m_iInterval); เข้าไปช่วงไหนครับผม (ถ้าสั่งหยุดได้ ผมก็จะดึงข้อมูล จาก mySQL มาแทนที่แล้วให้จบที่ record สุดท้ายแล้วก็หยุดได้เลยน่ะครับผม)
|
ประวัติการแก้ไข 2017-12-03 21:35:01
|
|
|
|
Date :
2017-12-03 21:33:21 |
By :
phpstarter |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (JavaScript)
function ontimer() {
// เพิ่มการตรวจสอบเพื่อให้หยุดการทำงาน
if (arrCursor>arrMax) {
pause(); return;
}
var base = document.getElementById("jump_base");
iScroll+=5;
if (iScroll>(m_Height*2)) {
iScroll=0;
arrCursor++;
//if (arrCursor>arrMax) arrCursor=0; //ไม่ต้อง reset ค่า เพื่อเริ่มใหม่
setLink();
}
if (iScroll==m_Height) {
pause(); m_iInterval = setTimeout(resume,2000);
}
base.scrollTop=iScroll;
}
|
|
|
|
|
Date :
2017-12-03 22:25:39 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมาก ๆ เลยครับพี่
|
|
|
|
|
Date :
2017-12-03 22:47:04 |
By :
phpstarter |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|