Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не убирается добавленный стиль (https://javascript.ru/forum/events/52861-ne-ubiraetsya-dobavlennyjj-stil.html)

voff 10.01.2015 09:37

Не убирается добавленный стиль
 
Приветствую всех.


Попробую объяснить в чем проблема.
Вообщем есть галерея lightbox, при увеличение изображения нужно чтобы появлялась полоса скроллинга для него и убиралась для body, а при закрытии наоборот.

Первый цикл проходит успешно, а вот обратно-скроллинг для body не добавляется. Закоментирован второй вариант с добавлением класса с соответствующим стилем к body, который также не работает.

$('.preview').click(function(){
     $('body').css('overflow-y','hidden');
//	 $('body').addClass('hidd');
 $('.lightbox').css('overflow','scroll');
    }); 
    
    $('body').click(function(){
		$('body').css('overflow-y','auto');
	$('.lightbox').css('overflow','hidden');
    // $('body').removeClass('hidd');
    });


Вместо body в обработчик второго цикла также пробовал вставлять и div с lightbox, кнопку закрытия .close. Ничего не помогает. Подозреваю, что несовместимость со скриптом lightbox, мучаюсь уже дня три, помогите пжл :(

lightbox https://github.com/lokesh/lightbox2/...ightbox.min.js

danik.js 10.01.2015 11:46

Смотри документацию к скрипту. Наверняка там есть возможность повесить обработчики на открытие/закрытие лайтбокса. Это называется callbacks. Че-та вроде onShow/onClose.

Клики не подходят, хотя бы потому, что лайтбокс можно закрыть без клика, по клавише Esc.

voff 10.01.2015 16:45

danik.js, если честно я не представляю как это сделать, можно пример?

danik.js 10.01.2015 17:10

Вот дерьмо. Нет там никаких callback'ов. Дерьмо а не скрипт. выкинь его нафиг. Юзай fancybox например. Или colorbox или еще какой-нибудь ***box. Куча их. Всякие с css3 плюшками и поддержкой мобилок есть.

рони 10.01.2015 17:38

https://github.com/lokesh/lightbox2/...js/lightbox.js

строка 129 добавить
$('body').css('overflow-y','hidden');


строка 400 в начало
$('body').css('overflow-y','auto');

voff 10.01.2015 19:20

рони, все работает, большое спасибо!

Цитата:

Сообщение от danik.js
выкинь его нафиг

скрипт уже интегрирован в сайт, поэтому имеем что имеем)


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