Показать сообщение отдельно
  #4 (permalink)  
Старый 17.01.2013, 13:36
Интересующийся
Отправить личное сообщение для IgorArhangel Посмотреть профиль Найти все сообщения от IgorArhangel
 
Регистрация: 14.01.2013
Сообщений: 29

Слайдер работает, но не совсем правильно
Кое что сделал. Но все же работает еще не так...
Загвоздка именно на javascript
вот собственно он
(function ($) {
var hwSlideSpeed = 700;
var hwTimeOut = 3000;
var hwNeedLinks = true;
$(document).ready(function(e) {
	//$('.slide').css(
	//	{"left": '0'}).hide().eq(0).show();
	var slideNum = 0;
	var slideTime;
	slideCount = $("#slider .slide").size();
	var animSlide = function(arrow){
		clearTimeout(slideTime);
		$('.slide').eq(slideNum).fadeOut(hwSlideSpeed);
		if(arrow == "next"){
			if(slideNum == (slideCount-1)){slideNum=0;}
			else{slideNum++}
			}
		else if(arrow == "prew")
		{
			if(slideNum == 0){slideNum=slideCount-1;}
			else{slideNum-=1}
		}
		else{
			slideNum = arrow;
			}
		$('.slide').eq(slideNum).fadeIn(hwSlideSpeed, rotator);
		$(".control-slide.active").removeClass("active");
		$('.control-slide').eq(slideNum).addClass('active');
		}

	var $adderSpan = '';
	$('.slide').each(function(index) {
			$adderSpan += '<span class = "control-slide">' + index + '</span>';
		});
	$('<div class ="sli-links">' + $adderSpan +'</div>').appendTo('#slider-wrap');
	$(".control-slide:first").addClass("active");
	$('.control-slide').click(function(){
	var goToNum = parseFloat($(this).text());
	animSlide(goToNum);
	});
	var pause = false;
	var rotator = function(){
			if(!pause){slideTime = setTimeout(function(){animSlide('next')}, hwTimeOut);}
			}
	$('#slider-wrap').hover(	
		function(){clearTimeout(slideTime); pause = true;},
		function(){pause = false; rotator();
		});
	rotator();
});
})(jQuery);


HTML разметка
<div id="slider-wrap">
  <div id="slider">
    <div class="slide">
      <img src="img/1.png" width="640" height="360">
    </div>
    <div class="slide">
      <img src="img/2.png" width="640" height="360">
    </div>
    <div class="slide">
      <img src="img/3.png" width="640" height="360">
    </div>
    <div class="slide">
      <img src="img/4.png" width="640" height="360">
    </div>
  </div>
</div>


И файл стилей
Код:
#slider{ /* Оболочка слайдера */
	width:1540px;
	height:360px;
	overflow: hidden;
	position:relative;}
.slide{ /* Слайд */
	width:640px;
	height:360px;
	float:left;
	margin:0 -85px 0 0;
	}
.sli-links{ /* Кнопки смены слайдов */
	margin-top:10px;
	text-align:center;}
.sli-links .control-slide{
	margin:2px;
	display:inline-block;
	width:16px;
	height:16px;
	overflow:hidden;
	text-indent:-9999px;
	background:url(radioBg.png) center bottom no-repeat;}
.sli-links .control-slide:hover{
	cursor:pointer;
	background-position:center center;}
.sli-links .control-slide.active{
	background-position:center top;}
Сначала у меня все нормально. они выстраиваются, но когда начинается анимация происходит все не так.
У меня в каком-то месте цикл не правильно работает.
И еще мне хочется чтоб они по кругу шли. Я знаю что есть скрипт circle но не понимаю как его использовать. буду очень признателен если кто-то чего-то посоветует или подскажет

Вот то как работает
http://207693.artzozul.web.hosting-test.net/

Последний раз редактировалось IgorArhangel, 17.01.2013 в 13:49. Причина: не указал образец
Ответить с цитированием