Показать сообщение отдельно
  #7 (permalink)  
Старый 12.04.2016, 10:59
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Krakozavr,
Эта конструкция будет работать при следующем размещении:
<!DOCTYPE html>
<html>
<head>
    <title>Untitled Page</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
    $(document).on('ready', function () {
        var height = 0, width = 0;
        if (self.screen) {
            width = screen.width;
            height = screen.height;
        }
        var target = $('div[data-slide-url="gallery-description"]').children();
        if (width < 810) {
            target.css({ "height": "300px", "width": "" });
        }
        else {
            if ((width >= 810) && (height >= 800)) {
                target.css({ "height": "100px", "width": "100px" });
            }
            else {
                target.css({ "height": "400px", "width": "400px" });
            }
        }
    });
</script>
</head>
<body>
<div class="slide sqs-gallery-design-strip-slide sqs-active-slide" data-slide-id="570836b92b8dde076f2016f4" data-slide-url="gallery-description" id="yui_3_17_2_28_1460187781722_544" data-type="image">
            <img data-src="" data-image="" data-image-dimensions="700x900" data-image-focal-point="0.5,0.5" data-load="false" style="" alt="" class="loaded" src="http://javascript.ru/cat/list/donkey.gif" data-image-resolution="750w"/>
            <div style='background:yellow'></div>
</div>
</body>
</html>

div с желтым фоном я добавил, чтобы было видно, что изменение размеров действует для всех children, входящих в выбранный div.
Для предотвращения этого надо конкретизировать выбор целевого объекта, например
var target = $('div[data-slide-url="gallery-description"]').children('img');

Кроме того, целесообразно расширить действие этого скрипта также и на случай изменения размеров экрана - для этого строку 7 и следующие написать в виде
$(window).on('load resize', function () {
        var width = $(window).width(),
            height = $(window).height();
        var target = $('div[data-slide-url="gallery-description"]').children('img');

Последний раз редактировалось Dilettante_Pro, 12.04.2016 в 11:15.
Ответить с цитированием