Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Nivo Slider... (https://javascript.ru/forum/dom-window/30044-nivo-slider.html)

ivanoid 22.07.2012 12:29

Nivo Slider...
 
Прошу знающих направить...
Скрываю блок Nivo Slider, хочу его при этом остановить, а при раскрытии запустить...

$(".hide").click(function () {
  $("#slider").data("nivoslider").stop();
  $(this).text(($(".strap:visible").length == 0) ? "Hide" : "Unhide");
  $(".strap, .slider-wrapper").slideToggle("slow");
  $(this).toggleClass("unhide");
  return false;
});


P.S. Плохо понимаю что значит "return false;"...

Deff 22.07.2012 12:46

Цитата:

Сообщение от ivanoid
return false

Некая страховка: Запрещение действий по умолчанию - реакций на клик(Обычно Важно для тегов <a> для неперехода по ссылке

Deff 22.07.2012 12:51

ivanoid,
Выложите скрипт вместе с HTML кодом, для большей понятности
Пример:
[HTML run]
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>

<a class="Alllert" href="#">Привет</a>

<script type="text/javascript">

$(".Alllert").click(function () {
  alert($(this).text())
  return false;
});

</script>

ivanoid 22.07.2012 12:52

Прошу прощения, больше волнует вопрос, как запустить т.е.
$("#slider").data("nivoslider").start();
после раскрытия блоков .strap и .slider-wrapper...

Deff 22.07.2012 12:56

$(".strap, .slider-wrapper").slideToggle("slow", function () {
          $("#slider").data("nivoslider").start()
      });

ivanoid 22.07.2012 13:00

<div class="slider-wrapper">
  <div id="slider" class="nivoSlider">
    <img src="photo_001.jpg" />
    <img src="photo_002.jpg" />
  </div>
</div>
<a href="" class="hide">Hide</a>
$(document).ready(function () {
  $(".hide").click(function () {
    $("#slider").data("nivoslider").stop();
    $(this).text(($(".strap:visible").length == 0) ? "Hide" : "Unhide");
    $(".slider-wrapper").slideToggle("slow");
    $(this).toggleClass("unhide");
    return false;
  });
});
Немного упростил...

ivanoid 22.07.2012 14:18

Цитата:

Сообщение от Deff (Сообщение 190669)
$(".strap, .slider-wrapper").slideToggle("slow", function () {
  $("#slider").data("nivoslider").start()
});

Спасибо, буду дальше смотреть, - при раскрытии запускается, но как то не красиво перебирает картинки нелепо, быстро до первой...

ivanoid 22.07.2012 14:29

$(".strap, .slider-wrapper").slideToggle("slow", function () {
  $("#slider").data("nivoslider").start()
});
Можно ли как то start() запустить с задержкой по времени?..

Deff 22.07.2012 14:30

$(".strap, .slider-wrapper").slideToggle("slow", function () { 
  setTimeout('$("#slider").data("nivoslider").start()',20)
});


Воть так - не интересней? (*Тут перезапуск идёт уже после полного окнчания функции анимации

ivanoid 22.07.2012 14:53

Цитата:

Сообщение от Deff (Сообщение 190681)
$(".strap, .slider-wrapper").slideToggle("slow", function () { 
  setTimeout('$("#slider").data("nivoslider").start()',20)
});

Воть так - не интересней? (*Тут перезапуск идёт уже после полного окнчания функции анимации

Даже изменений никаких не увидел...

Deff 22.07.2012 15:07

ivanoid,
Чтобы, потестить нун глянуть на реальную страницу - есть вероятность и конфликтов...

ivanoid 22.07.2012 15:18

Цитата:

Сообщение от Deff (Сообщение 190686)
ivanoid,
Чтобы, потестить нун глянуть на реальную страницу - есть вероятность и конфликтов...

Вот как раз подготовил, убрал всё лишнее...
http://astacus.ru/tmp/

Deff 22.07.2012 15:29

Цитата:

Сообщение от ivanoid
Вот как раз подготовил, убрал всё лишнее...

В Опере - норма - что не так и в каком браузере ? (Если можно -скриншот

ivanoid 22.07.2012 15:31

Цитата:

Сообщение от Deff (Сообщение 190690)
В Опере - норма - что не так и в каком браузере ? (Если можно -скриншот

Firefox, - при раскрытии картинки нет потом появляется...
Ещё и коряво... - http://astacus.ru/tmp/001.jpg

Deff 22.07.2012 15:39

Цитата:

Сообщение от ivanoid
Firefox, - при раскрытии картинки нет потом появляется...

http://video.yandex.ru/users/hostjs-mybb2011/view/18

ivanoid 22.07.2012 15:51

Цитата:

Сообщение от Deff (Сообщение 190693)

Не нравится мне на 24 секунде, хотя когда останавливаешь, свернул-развернул, запускаешь такого нет...

P.S. Прошу прощения за мой "английский", - объяснил как мог...

Deff 22.07.2012 16:07

ivanoid,
При стопе на последнем кадре - старт идет по ходу с новой инициализацией, либо больше картинкок - чтобы событие было редким - либо забить на стопер

ivanoid 22.07.2012 16:11

Цитата:

Сообщение от Deff (Сообщение 190697)
ivanoid,
При стопе на последнем кадре - старт идет по ходу с новой инициализацией, либо больше картинкок - чтобы событие было редким - либо забить на стопер

Без "стопера" вообще бардак, и беспокоит то что при стоп, скрыть-показать, старт всё хорошо, посмотрите... - http://astacus.ru/tmp/

Deff 22.07.2012 16:16

ivanoid,
Наверняка есть возможность при стопе запоминать номер кадра и делать старт (возможно новый) с замомненного кадра

ivanoid 22.07.2012 16:18

http://astacus.ru/tmp/Video_2012-07-22_161414.wmv
- на всякий случай...

Deff 22.07.2012 16:20

ivanoid,
Гы - Ясен перец - Мы сейчас не разделяем - скрытие и раскрытие!!!

Deff 22.07.2012 16:29

$(document).ready(function () {
	$(".hide").click(function () {

		$(this).toggleClass("unhide");
		if($(".strap").css("display")=='block'){
		$(this).text("Unhide");
		$(".strap, .slider-wrapper").slideUp("slow", function () {
		setTimeout('$("#slider").data("nivoslider").stop()', 20) 
		});
		} else {
		$(this).text("Hide")
		$(".strap, .slider-wrapper").slideDown("slow", function () {
		setTimeout('$("#slider").data("nivoslider").start()', 20) 
		});
		}
		return false;
	});
});
Вроде так ...

ivanoid 22.07.2012 16:42

Круть!., то шо надо.., огромное, человеческое спасибо..,
Профессор, подскажи коротенькую толковую книжку по js, jquery чтобы ещё понять что написано...

ivanoid 22.07.2012 16:45

Я так понял
setTimeout()
уже не нужен...
И про класс забыли
$(this).toggleClass("unhide");
...

ivanoid 22.07.2012 17:06

Цитата:

Сообщение от ivanoid (Сообщение 190714)
Я так понял
setTimeout()
уже не нужен...
И про класс забыли
$(this).toggleClass("unhide");
...

$(this).toggleClass("unhide");
- вставил (методом тыка)...

Deff 22.07.2012 17:14

Цитата:

Сообщение от ivanoid
$(this).toggleClass("unhide");

Ну ды - поправил = мон почитать тут http://jquery-docs.ru/Selectors/ - правдо старье (на англицком нун читать для версий 1.7.2 ссылки на англицкие доки есть втам - (Основвные изменения на счет событий, хотя старые и поддержаны пока


Часовой пояс GMT +3, время: 12:57.