2017-12-03 199 views
0

IM嗨只是有一些问题, 进出口试图使只需一个按钮本文眨眼点击简单的JavaScript按钮2在1

所以点击 而且还点击行为为OFF(如果点击次数值设置为在这1)

林相当新的JS任何帮助,将不胜感激

var Blinker = { 
 
    interval: null, 
 
    start: function() { 
 
     if (this.interval) return; 
 
     this.interval = setInterval(function() {  
 
      $('#demo').toggle(); 
 
     }, 250); 
 
    }, 
 
    stop: function() { 
 
     clearInterval(this.interval); 
 
     $('#demo').show(); 
 
     this.interval = null; 
 
    } 
 
} 
 

 
//Initialize blink status. 
 
var blinkStatus = 1; 
 

 
//Check if status is changed, and run/stop blinking. 
 
setInterval(function() { 
 
    if (blinkStatus == 1) { 
 
     Blinker.start(); 
 
    } 
 
    else { 
 
     Blinker.stop(); 
 
    } 
 
}, 250); 
 

 

 
$('#start').on('click', function() { 
 
    blinkStatus = 1; 
 
}); 
 
$('#stop').on('click', function() { 
 
    blinkStatus = 0; 
 
});
<h1 id="demo">PAUSE</h1> 
 
<button id="start">Start</button> 
 
<button id="stop">Stop</button>

+0

可能问题就在我身边'如果(blinkStatus == 1){ Blinker.stop( ); } else { Blinker.stop(); }'? – janos

回答

0

试试这个代码。这通过一个按钮来切换闪烁。

HTML:

<div class="text-container"> 
    <h1 id="demo">PAUSE</h1> 
</div> 
<button id="toggle-button">Start</button> 

CSS:

.hide { 
    display: none; 
} 

.text-container { 
    height: 17px; 
} 

JS:

var Blinker = { 
    interval: null, 
    start: function() { 
     if (this.interval) return; 
     this.interval = setInterval(function() { 
      $('#demo').toggleClass('hide'); 
     }, 250); 
    }, 
    stop: function() { 
     clearInterval(this.interval); 
     $('#demo').removeClass('hide'); 
     this.interval = null; 
    } 
} 

//Initialize blink status. 
var blinkStatus = 0; 

//Check if status is changed, and run/stop blinking. 
setInterval(function() { 
    if (blinkStatus == 1) { 
     $('#toggle-button').text('Stop'); 
     Blinker.start(); 
    } 
    else { 
     $('#toggle-button').text('Start'); 
     Blinker.stop(); 
    } 
}, 250); 


$('#toggle-button').on('click', function() { 
    if (blinkStatus) { 
     blinkStatus = 0; 
    } else { 
     blinkStatus = 1; 
    } 
}); 
+0

非常感谢你! –

+0

欢迎@MitchellChelin :) – GeniusGo

0

我根据您对评论的要求,稍微编辑了您的代码。

//Initialize blink status. 
 
var blinkStatus = false; 
 

 
//Check if status is changed, and run/stop blinking. 
 
var blinker, visibility; 
 
$('#button').on('click', function() { 
 
    blinkStatus = !blinkStatus; 
 
    if(blinkStatus){ 
 
     blinker = setInterval(function() { 
 
      visibility = $("#demo").css('visibility'); 
 
      
 
      if(visibility == 'hidden'){ 
 
       $("#demo").css('visibility', 'visible'); 
 
      }else{ 
 
       $("#demo").css('visibility', 'hidden'); 
 
      } 
 
     }, 500); 
 
     $("#button").text('Stop'); 
 
    }else{ 
 
     clearInterval(blinker); 
 
     $("#button").text('Start'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h1 id="demo">PAUSE</h1> 
 
<button id="button">Start</button>

+0

谢谢,我在那里犯了一个错误,但我的问题仍然存在, 我该如何启用这个功能来执行一个按钮 为开始和停止。 –

+0

哦,你的意思是,只需一次点击=>开始/停止灵活? – moon

+0

是的,如果可能的话。 –