在onmouseover时停止javascript计时器 [英] stop javascript timer when onmouseover

查看:128
本文介绍了在onmouseover时停止javascript计时器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我目前正在更新http://www.yapi.com.tr/AnaSayfa/.当我将鼠标悬停在1,2,3,4,5图像上时,新闻不会改变.这也是我将鼠标悬停在图像上时想要的.我应该怎么办 ?使用谷歌浏览器,您可以看到代码.

修改:/JScript/Manset.js

Hi
I am currently updating the http://www.yapi.com.tr/AnaSayfa/. When I mouseover the 1,2,3,4,5 images, the news does not change. That is what I want when I mouseover the image as well. What should I do ? Using google chrome you can see the code.

Modification: /JScript/Manset.js

// body onload
function Start() {
Haberler_Show(1);
Haberler_timerStart(1);
Etkinlikler_Show(1);
Etkinlikler_timerStart(1);
UrunHaberleri_Show(1);
UrunHaberleri_timerStart(1);
Sektorden_Show(1);
Sektorden_timerStart(1);
Yarismalar_Show(1);
Yarismalar_timerStart(1);
Oduller_Show(1);
Oduller_timerStart(1);
}
/* Haberler Başlangıç */
var Haberler_counter = 1;
var Haberler_timerCount;
var Haberler_maxHeaderlineCount = 5;
function Haberler_Show(Haberler_selectedItemIndex) {
//HERE I STOP THE TIMER
Haberler_stopTimer();
for (i = 1; i <= Haberler_maxHeaderlineCount; i++) {
if (i != Haberler_selectedItemIndex) {
document.getElementById('Haberler_Resim_' + i).style.display = 'none';
document.getElementById('Haberler_Sayi_Resim_' + i).src = '../Images/PageNumber/' + i + '.jpg';
document.getElementById('Haberler_Detay_' + i).style.display = 'none';
}
else {
document.getElementById('Haberler_Resim_' + i).style.display = 'block';
document.getElementById('Haberler_Sayi_Resim_' + i).src = '../Images/PageNumber/' + i + '_hover.jpg';
document.getElementById('Haberler_Detay_' + i).style.display = 'block';
}
}
}
function Haberler_timerStart(Haberler_counterNum) {
if (Haberler_counterNum != -1)
Haberler_counter = Haberler_counterNum;
if (Haberler_counter == Haberler_maxHeaderlineCount + 1) Haberler_counter = 1;
for (i = 1; i <= Haberler_maxHeaderlineCount; i++) {
if (i != Haberler_counter) {
document.getElementById('Haberler_Resim_' + i).style.display = 'none';
document.getElementById('Haberler_Sayi_Resim_' + i).src = '../Images/PageNumber/' + i + '.jpg';
document.getElementById('Haberler_Detay_' + i).style.display = 'none';
}
else {
document.getElementById('Haberler_Resim_' + i).style.display = 'block';
document.getElementById('Haberler_Sayi_Resim_' + i).src = '../Images/PageNumber/' + i + '_hover.jpg';
document.getElementById('Haberler_Detay_' + i).style.display = 'block';
}
}
Haberler_counter = Haberler_counter + 1;
Haberler_timerCount = setTimeout("Haberler_timerStart(-1)", 5000);
}
function Haberler_stopTimer() {
clearTimeout(Haberler_timerCount);
}



预先感谢,

Nice



Thanks in advance,

Nice

推荐答案

您可以为此使用clearTimeout .
http://www.w3schools.com/js/js_timing.asp [
You could use clearTimeout for that.
http://www.w3schools.com/js/js_timing.asp[^]

Another method would simply be to check some variable that you defined that represents some value that indicates if there should be any action or not.

You can use the mouseenter/mouseleave for it.

Good luck!


这里是相关的js文件.
http://www.yapi.com.tr/JScript/Manset.js

这是唯一相关的代码.

我评论了在哪里使用Haberler_Show,并且在进入此方法时也停止了计时器.

我已经尝试了数小时的解决方案.我已经看过了.

预先感谢,
不错

//正文onload
函数Start(){
Haberler_Show(1);
Haberler_timerStart(1);
Etkinlikler_Show(1);
Etkinlikler_timerStart(1);
UrunHaberleri_Show(1);
UrunHaberleri_timerStart(1);
Sektorden_Show(1);
Sektorden_timerStart(1);
Yarismalar_Show(1);
Yarismalar_timerStart(1);
Oduller_Show(1);
Oduller_timerStart(1);
}

/* HaberlerBaşlangıç*/
var Haberler_counter = 1;
var Haberler_timerCount;
var Haberler_maxHeaderlineCount = 5;
函数Haberler_Show(Haberler_selectedItemIndex){
//在这里我停止计时器
Haberler_stopTimer();
for(i = 1; i< = Haberler_maxHeaderlineCount; i ++){
如果(i!= Haberler_selectedItemIndex){
document.getElementById(''Haberler_Resim_''+ i).style.display =``none'';
document.getElementById(''Haberler_Sayi_Resim_''+ i).src =``../Images/PageNumber/''+ i +``.jpg'';
document.getElementById(''Haberler_Detay_''+ i).style.display =``none'';
}
其他{
document.getElementById(''Haberler_Resim_''+ i).style.display =``block'';
document.getElementById(''Haberler_Sayi_Resim_''+ i).src =``../Images/PageNumber/''+ i +``_hover.jpg'';
document.getElementById(''Haberler_Detay_''+ i).style.display =``block'';
}
}
}
函数Haberler_timerStart(Haberler_counterNum){
如果(Haberler_counterNum!= -1)
Haberler_counter = Haberler_counterNum;
如果(Haberler_counter == Haberler_maxHeaderlineCount + 1)Haberler_counter = 1;
for(i = 1; i< = Haberler_maxHeaderlineCount; i ++){
如果(i!= Haberler_counter){
document.getElementById(''Haberler_Resim_''+ i).style.display =``none'';
document.getElementById(''Haberler_Sayi_Resim_''+ i).src =``../Images/PageNumber/''+ i +``.jpg'';
document.getElementById(''Haberler_Detay_''+ i).style.display =``none'';
}
其他{
document.getElementById(''Haberler_Resim_''+ i).style.display =``block'';
document.getElementById(''Haberler_Sayi_Resim_''+ i).src =``../Images/PageNumber/''+ i +``_hover.jpg'';
document.getElementById(''Haberler_Detay_''+ i).style.display =``block'';
}
}
Haberler_counter = Haberler_counter +1;
Haberler_timerCount = setTimeout("Haberler_timerStart(-1)",5000);
}
函数Haberler_stopTimer(){
clearTimeout(Haberler_timerCount);
}
Here is the relevant js file.
http://www.yapi.com.tr/JScript/Manset.js

Here is the only code that is relevant.

I commented where I use Haberler_Show and I also stopped the timer when entering this method.

I have been trying to find a solution for hours. I have already looked.

Thanks in advance,
Nice

// body onload
function Start() {
Haberler_Show(1);
Haberler_timerStart(1);
Etkinlikler_Show(1);
Etkinlikler_timerStart(1);
UrunHaberleri_Show(1);
UrunHaberleri_timerStart(1);
Sektorden_Show(1);
Sektorden_timerStart(1);
Yarismalar_Show(1);
Yarismalar_timerStart(1);
Oduller_Show(1);
Oduller_timerStart(1);
}

/* Haberler Başlangıç */
var Haberler_counter = 1;
var Haberler_timerCount;
var Haberler_maxHeaderlineCount = 5;
function Haberler_Show(Haberler_selectedItemIndex) {
//HERE I STOP THE TIMER
Haberler_stopTimer();
for (i = 1; i <= Haberler_maxHeaderlineCount; i++) {
if (i != Haberler_selectedItemIndex) {
document.getElementById(''Haberler_Resim_'' + i).style.display = ''none'';
document.getElementById(''Haberler_Sayi_Resim_'' + i).src = ''../Images/PageNumber/'' + i + ''.jpg'';
document.getElementById(''Haberler_Detay_'' + i).style.display = ''none'';
}
else {
document.getElementById(''Haberler_Resim_'' + i).style.display = ''block'';
document.getElementById(''Haberler_Sayi_Resim_'' + i).src = ''../Images/PageNumber/'' + i + ''_hover.jpg'';
document.getElementById(''Haberler_Detay_'' + i).style.display = ''block'';
}
}
}
function Haberler_timerStart(Haberler_counterNum) {
if (Haberler_counterNum != -1)
Haberler_counter = Haberler_counterNum;
if (Haberler_counter == Haberler_maxHeaderlineCount + 1) Haberler_counter = 1;
for (i = 1; i <= Haberler_maxHeaderlineCount; i++) {
if (i != Haberler_counter) {
document.getElementById(''Haberler_Resim_'' + i).style.display = ''none'';
document.getElementById(''Haberler_Sayi_Resim_'' + i).src = ''../Images/PageNumber/'' + i + ''.jpg'';
document.getElementById(''Haberler_Detay_'' + i).style.display = ''none'';
}
else {
document.getElementById(''Haberler_Resim_'' + i).style.display = ''block'';
document.getElementById(''Haberler_Sayi_Resim_'' + i).src = ''../Images/PageNumber/'' + i + ''_hover.jpg'';
document.getElementById(''Haberler_Detay_'' + i).style.display = ''block'';
}
}
Haberler_counter = Haberler_counter + 1;
Haberler_timerCount = setTimeout("Haberler_timerStart(-1)", 5000);
}
function Haberler_stopTimer() {
clearTimeout(Haberler_timerCount);
}


您好,
我使用Fiddler2找到了它.在函数Haberler_Show(item)中被调用的函数称为Haberler_stopTimer().因此,在具有id ="Haberler_Resim_X"的div上,其中X从1到5,您必须执行onmouseover ="Haberler_stopTimer();"和onmouseout ="Haberler_timerStart(-1)".
对于第一个新闻盒,应该这样做.第二个应该类似.

干杯,

曼弗雷德(Manfred)
Hi Close,
I found it using Fiddler2. The function that is being called in function Haberler_Show(item) is called Haberler_stopTimer(). So on the divs with the id="Haberler_Resim_X" where X runs from 1 to 5 you''d have to do onmouseover="Haberler_stopTimer();" and onmouseout="Haberler_timerStart(-1)".
That should do it, for the first news box. Second one should be analogous.

Cheers,

Manfred


这篇关于在onmouseover时停止javascript计时器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆