名古屋のウエブ制作会社「みつばシステム」、社長の無茶ぶりに全社員が泣いた。

草々なる日々

未分類

jquery.wideslider.jsとjquery.responsive-nav.jsが同時に使えない!!

投稿日:


responsive-navで実装したメニューがスライダーをautoに「autoPlay = '1';」しているとスライドするときにメニューが閉じてしまう現象が起こっていました。

原因は
responsive-navの

$( '#responsive-btn' ).click( function() {
if ( is_open ) {
		nav_close();
	} else {
		nav_open();
	}
} );

とwidesliderが干渉していたためでした。

function wsTimer(){
	wsSetTimer = setInterval(function(){
		findNext.click();
	},delayTime);
}

※画面のどこかがクリックされたらメニューを閉じる。
※タイマーでクリックメソッドを呼び出す。
※定期的に呼び出される関数にメニューの閉じるが反応してしまう。

wideslider側を以下のように変更。

function wsTimer(){
	wsSetTimer = setInterval(function(){
		clickLap();
	},delayTime);
}
function clickLap(){
	findWrap.not(':animated').each(function(){
		if(autoPlay == '1'){clearInterval(wsSetTimer);}
		var posLeft = parseInt(jQuery(findWrap).css('left')),
		moveLeft = ((posLeft)-(setWidth));
		findWrap.stop().animate({left:(moveLeft)},slideSpeed,easing,function(){
			var adjustLeft = parseInt(jQuery(findWrap).css('left'));
			if(adjustLeft <= posResetNext){
				findWrap.css({left: -(baseWrapWidth)});
			}
		});

		var pnPointActive = pagination.children('a.active');
		pnPointActive.each(function(){
			var pnIndex = pnPoint.index(this),
			listCount = pnIndex+1;
			if(pnCount == listCount){
				pnPointActive.removeClass('active');
				pnFirst.addClass('active');
			} else {
				pnPointActive.removeClass('active').next().addClass('active');
			}
		});
		activePos();

		if(autoPlay == '1'){wsTimer();}
	});
}
findNext.click(function(){
	findNext.click();
});

とりあえずは良さそうです。

-未分類

Copyright© 草々なる日々 , 2024 AllRights Reserved Powered by AFFINGER4.