2015-12-15 4 views
5

Первый div - это категория, а второй div содержит несколько фотографий.Дивы не знают об изменении размера экрана

Я хотел сделать что-то, что, когда пользователь нажимает на изображение первый ДИВ шаг 0,7 ширины экрана вправо и все изображения во второй DIV исчезают, так что я написал:

$(document).ready(function() { 
 
    $("img").click(function() { 
 
    var my_width = screen.width * 0.7; 
 
    $(".second_div").find("img").hide(); 
 
    $(".first_div").css({ 
 
     "transform": "translate(" + my_width + "px,0px)", 
 
     "-webkit-transform": "translate(" + my_width + "px,0px)", 
 
     "-ms-transform": "translate(" + my_width + ",0px)" 
 
    }); 
 
    }); 
 
});
.first_div { 
 
    transition-duration: 2s; 
 
}
<div class="first_div col-md-1"> 
 
    //some code 
 
</div> 
 
<div class="second_div col-md-11> 
 
      //some codes 
 
</div>

когда его полный экран работает правильно, но при изменении размера окна и попробуйте снова первый DIV не будет располагаться в том, где он должен (0.7 ширины экрана) что» S не так?

+0

а также что происходит с колонками начальной загрузки? –

+0

Я имею в виду, что когда переход происходит, первый div переходит во второй, и все фотографии будут скрыты. теперь разделение изменено? –

+0

Что мне делать, чтобы поместить div в левую часть первого div после перехода? –

ответ

3

для ширины окна Я хотел бы использовать следующее:

var my_width = document.documentElement.clientWidth * 0.7; 

это то же самое (совместимый кросс-браузер) решение используется JQuery-х $.width()

Для получения дополнительной информации о различных способах получения ширины, см это link.

+0

Thanx, но он не работал в этой [link] (http://qeshmbook.com/test.html), нажмите на картинку ниже и попробуйте изменить размер окна –

+0

в ссылке, вы все еще используете 'var my_width = screen.width * 0,7; '. Изменение его на то, что показано в моем ответе, исправляет его в любом размере. Если вы говорите, что изменение размера после завершения анимации не выглядит так, как вы хотите, это еще одна проблема. Использование только анимации, которой вы располагаете до сих пор, не обеспечит отзывчивого опыта. – thedarklord47

+0

О, извините, что это была ошибка! Большое вам спасибо за помощь –

2

Попробуйте использовать внутреннюю ширину окна вместо ширины экрана, чтобы он был относительно размера окна просмотра. заменить

var my_width = screen.width * 0.7 ;

с:

var my_width = window.innerWidth * 0.7 ;

Смотрите пример здесь:

http://codepen.io/anon/pen/jWWEKO

+0

Спасибо! Это просто отлично. –

+0

Но когда я изменяю размер окна, это не изменит его местоположение! возможно, я должен написать $ (window) .resize (function() {}); слишком. в любом случае, спасибо! –

Смежные вопросы