Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.06.2008, 13:22
Новичок на форуме
Отправить личное сообщение для MarkupDeveloper Посмотреть профиль Найти все сообщения от MarkupDeveloper
 
Регистрация: 15.06.2008
Сообщений: 3

Помогите разобраться с логикой поведения скрипта
Задание такое: необходимо создать скрипт наподобие галереи, но который в цикле показывает всю галерею, так же отдельно есть названия, которые активизируются соответственно картинке....
При ховере на название показывается нужная картинка, а при mouseout опять должен заработать цикл. Вот тут-то у меня и возникла проблема

JS код:
var _first = true;
var _time = null;
var _el = false;
var _note = false;
var _index = false;
var _index2 = false;

function initPage() {
	_el = $(".pic2 img");
	_note = $(".nav2 li");
	time = setTimeout((function() {
       innerfade();
    }), 2000);
}
if (window.addEventListener)
	window.addEventListener("load", initPage, false);
else if (window.attachEvent)
	window.attachEvent("onload", initPage);

function innerfade() {
	
	// расставляем классы
	if (_first) {
		_el.filter(".active").next().addClass('next');
		_note.eq(0).addClass("active");
		_first = false;	
	}

	// дисплей блок некстовому элементу
	_el.filter(".next").fadeIn(0);
	
	// манипулируем названиями
    _index = _el.index($(".next")[0]);
	_note.filter(".active").removeClass("active");
	_note.eq(_index).addClass("active");
	
	// прячем активный и показуем следующий элемент
	_el.filter(".active").fadeOut(300, function(){
		$(this).removeClass("active");
		_el.filter(".next").addClass('active').removeClass("next").next().addClass('next');
		// если последний елемент, то добовляем класс некст первому элементу
		if (!_el.filter(".active").next().is("img")) {_el.eq(0).addClass('next');}
	});

	// обрабатываем ховер на названия
	$(_note).hover(function(){
		clearTimeout(time);
		_note.removeClass("active");
		$(this).addClass("active");
		_index2 = _note.index($(this)[0]);

		_el.removeClass("next").removeClass("active");
		_el.eq(_index2).addClass("next").fadeIn(0);
		
		_el.not(".next").fadeOut(300, function(){
			_el.filter(".next").addClass("active").removeClass("next");
		});
	},function(){
		_el.eq(_index2).next().addClass("next");
		if (!_el.eq(_index2).next().is("img")) {_el.eq(0).addClass('next');}
		time = setTimeout((function() {
      		innerfade();
  		}), 6000);
	});
	
	// вызываем повторно функцию		
    time = setTimeout((function() {
       innerfade();
    }), 2000);
};


HTML код:
<div class="hold">
			<div class="pic2">
				<img src="images/1.jpg" width="500" height="380" alt="" class="active" />
				<img src="images/2.jpg" width="500" height="380" alt="" />
				<img src="images/3.jpg" width="500" height="380" alt="" />
				<img src="images/4.jpg" width="500" height="380" alt="" />
			</div>
			<ul class="nav2">
				<li><a href="#">Фото 1</a></li>
				<li><a href="#">Фото 2</a></li>
				<li><a href="#">Фото 3</a></li>
				<li><a href="#">Фото 4</a></li>
			</ul>
		</div>


Вообщем мучаюсь уже порядка 8 часов и никак у меня не получается сделать показ фоток при ховере на название... аж самому смешно...

Вообщем переберал кучу вариантов... при таком варианте работает через раз, а бывает глюки... короче помогите PLZ продумать hover функцию
Ответить с цитированием
  #2 (permalink)  
Старый 15.06.2008, 16:55
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

MarkupDeveloper,
Что за фреймворк? Мне сложно так разобраться, потому что с фреймворками не работал.
Я могу скачать, подключить и посмотреть в чём может быть дело.
Ответить с цитированием
  #3 (permalink)  
Старый 15.06.2008, 22:06
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

для начала - прочитать доки по фреймворку. внимательно.
__________________
.ня

Последний раз редактировалось tenshi, 16.06.2008 в 00:07.
Ответить с цитированием
  #4 (permalink)  
Старый 21.06.2008, 17:04
Новичок на форуме
Отправить личное сообщение для MarkupDeveloper Посмотреть профиль Найти все сообщения от MarkupDeveloper
 
Регистрация: 15.06.2008
Сообщений: 3

Разобрался... путем переделывания кода
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с Dojo greendoc Dojo toolkit 4 13.10.2011 17:19
Помогите разобраться в повторным обращении к функции, как её обнулить. AdvoGad Общие вопросы Javascript 0 01.09.2008 10:35
Помогите разобраться с проблемой SergeiAzarov (X)HTML/CSS 0 28.03.2008 17:51
Помогите разобраться с функцией dateAdd Likan Общие вопросы Javascript 3 21.03.2008 15:13