9

こんにちは、他の組み込み関数を使用したスライドショー用のjquery関数です。全体のdivにカーソルを合わせると、一時停止させようとしています。手伝ってください!

$(function() {
var timer = setInterval( showDiv, 5000);
var counter = 2;
function showDiv() {

if (counter ==0) { counter++; return; }

$('div','#slide-show-overall')
  .stop()
  .fadeOut('slow')
  .filter( function() { return this.id.match('picture-set-' + counter); })   
  .fadeIn('slow');
  if (counter ==2) { slideWings();} //extra functions
  if (counter ==1) { resetWings();} //extra functions
counter == 3? counter = 1 : counter++; 
}
});
});



<div style="position:absolute;width:1000px;height:600;top:0px;z-index:0;overflow:hidden;" id="slide-show-overall" >
<div id="picture-set-1" style="">
<img src="images/3.jpg" align=left width=1000>
</div>
<div id="picture-set-2" style="display:none;">
<img src="images/1.jpg" align=left width=1000>
<img src="images/wing_left.png" align=left height=200 width=200 style="margin-top:-900px;margin-left:230px;" id="wing-left-1">
<img src="images/wing_right.png" align=left height=200 width=200 style="margin-    top:-900px;margin-left:830px;" id="wing-right-1">
</div>
<div id="picture-set-3" style="display:none;">
<img src="images/5.jpg" align=left width=1000>
</div>
</div>
4

3 に答える 3

31

clearIntervalホバーの間隔を削除してから、オフホバー関数で置き換えるために使用します。

$('#slide-show-overall').hover(function(ev){
    clearInterval(timer);
}, function(ev){
    timer = setInterval( showDiv, 5000);
});
于 2012-06-06T12:01:02.603 に答える
4
$('#slide-show-overall > div').hover(
  function () {
    clearInterval(timer)
  },
  function () {
    timer = setInterval( showDiv, 5000);
  }
);
于 2012-06-06T12:00:52.987 に答える
3

'setInterval'プロセス全体を関数に入れてみませんか?そうすれば、名前で停止し、関数を呼び出すだけで開始できます。

// the function - set var up just in case
// the timer isn't running yet
var timer = null;
function startSetInterval() {
    timer = setInterval( showDiv, 5000);
}
// start function on page load
startSetInterval();

// hover behaviour
$('#slide-show-overall').hover(function() {
  clearInterval(timer);
},function() {
  startSetInterval();
});
于 2013-11-28T13:57:00.040 に答える