このスライダーをサイトにしばらく放置すると、狂ったように滑り始めます。このバグをテストするには? bellated.com/vyrai(テストページ)を開きます。大きなチェンジ写真を見ることができます。それを1分間放置する。他のブラウザタブを参照してください。このサイトに戻ると、スライダのバグが表示されます。任意のアイデアをどのようにこれを修正するには?JavaScriptスライダーがしばらくして狂ったようにスライドする
私はこのスクリプトを使用しています:
<script type="text/javascript">
$(document).ready(function() {
var currentPosition = 0;
var slideWidth = 673;
var slides = $('.slide');
var numberOfSlides = slides.length;
var slideShowInterval;
var speed = 6000;
//Assign a timer, so it will run periodically
slideShowInterval = setInterval(changePosition, speed);
slides.wrapAll('<div id="slidesHolder"></div>')
slides.css({ 'float' : 'left' });
//set #slidesHolder width equal to the total width of all the slides
$('#slidesHolder').css('width', slideWidth * numberOfSlides);
manageNav(currentPosition);
//tell the buttons what to do when clicked
$('.nav').bind('click', function() {
//determine new position
currentPosition = ($(this).attr('id')=='rightNav')
? currentPosition+1 : currentPosition-1;
//hide/show controls
manageNav(currentPosition);
clearInterval(slideShowInterval);
slideShowInterval = setInterval(changePosition, speed);
moveSlide();
});
function manageNav(position) {
//hide left arrow if position is first slide
if(position==0){ $('#leftNav').hide() }
else { $('#leftNav').show() }
//hide right arrow is slide position is last slide
if(position==numberOfSlides-1){ $('#rightNav').hide() }
else { $('#rightNav').show() }
}
//changePosition: this is called when the slide is moved by the timer and NOT when the next or previous buttons are clicked
function changePosition() {
if(currentPosition == numberOfSlides - 1) {
currentPosition = 0;
manageNav(currentPosition);
} else {
currentPosition++;
manageNav(currentPosition);
}
moveSlide();
}
//moveSlide: this function moves the slide
function moveSlide() {
$('#slidesHolder').animate({'marginLeft' : slideWidth*(-currentPosition)});
}
});
</script>
HTMLの実装サンプル:
<div id="slideshow"> <div id="slideshowWindow">
<div class="slide"><div class="slideText"> <h2 class="slideTitle">Pas mus kainos visada lanksčios!</h2> <p class="slideDes">"Tik pas mus įsigykite savo naująją vandens filtravimo sistemą palankiausiomis kainomis".</p> <p class="slideLink"><a href="http://jayreillyportraits.com"></a></p> </div><!--/slideText--> </div><!--/slide-->
<div class="slide"><div class="slideText"> <h2 class="slideTitle">Naujas prekybos salonas</h2> <p class="slideDes">"Aplankykite mus naujai atsidariusiame prekybos salone Šilalėje S. Dariaus ir S. Girėno g. 24".</p> <p class="slideLink"><a href="http://jayreillyportraits.com"></a></p> </div><!--/slideText--> </div><!--/slide-->
<div class="slide"><div class="slideText"> <h2 class="slideTitle">Ieškote galimybių partneriaujant?</h2> <p class="slideDes">"Susisiekite su mumis ir mes aptarsime abiem pusėms palankias sąlygas!".</p> <p class="slideLink"><a href="http://jayreillyportraits.com"></a></p> </div><!--/slideText--> </div><!--/slide-->
<div class="slide"><div class="slideText"> <h2 class="slideTitle">Turite klausimų?</h2> <p class="slideDes">"Susisiekite su mumis ir mūsų specialistai pasistengs atsakyti į kiekvieną jūsų užklausą.".</p> <p class="slideLink"><a href="http://jayreillyportraits.com"></a></p> </div><!--/slideText--> </div><!--/slide-->
</div></div>
その作業罰金...あなたは、より具体的な可能性:
を問題にjQueryのバグがより多くの情報を持っています何が狂っている。 –
@RaghavBhushanあなたの指示に従って、別のタブに切り替えて、タブをバックグラウンドで実行しなければなりません。また、動作が発生するには、FirefoxまたはWebKitベースのブラウザを使用する必要があります。 – Interrobang
彼は失われたウンドウフォーカスのリスナーを持っていないので、変化するタブがどのようにそれに影響するのでしょうか。 –