Создание всплывающего окна
Доброго времени суток.
На данной странице, справа в сайд-баре есть голубая прямоугольная картинка синего цвета с надписью "Which product is right for me?" При клике на нее, вылетает небольшое окно, в котором пользователь может выбрать из списка что ему необходимо сделать, а "окно" ему предложит подходящие продукты. Все это в данном случае реализовано на сильверлайте. Как сделать такое окно на JS? Нужен ли тут jquery? Как вообще средствами js создать такое окно? Спасибо. PS. В js особо не силен, так, ковыряю потихоньку, так что...чем детальнее будут ответы тем лучше )) Заранее большое спасибо. |
Да там больше CSS, нежели js.
Цитата:
Необходимость ее использования каждый определяет сам. Учитывая удобство и популярность, а также наличие большого числа т.н. "плагинов" jQuery - использование этой либы оправдано. |
Почему больше необходим CSS ?
Как средствами CSS создать такое окно 700х700рх? Да и к тому же, должна быть где-то прописана логика, какую картинку показывать в зависимости от того или другого набора выбранных чекбоксов...я думал, что это реализуемо через switch-case ...или как-то еще программно. Так же, в окне присутствует анимация и зум логотипов, так же, прячутся и показваются кнопки покупки и скачки - а это вроде тоже делается через js? Поэтому для начала...Как вообще создать такое окно 700*700, которое бы выскакивало при клике на ссылку ? Я так понимаю, что это может быть отдельный хтмл...но как ему сказать, чтобы оно открывалось без стандартной браузерной рамки...и таких размеров ? |
Вот тебе простейший пример:
<!DOCTYPE html>
<meta charset="utf-8" />
<style>
.modal{
position: fixed;
width: 700px;
max-width: 100%;
max-height: 100%;
height: 700px;
margin: auto;
overflow: auto;
background: #fefefe;
border-radius: 10px;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.4);
padding: 10px;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
</style>
<script>
function Modal() {
this.element = document.createElement('div');
this.element.className = 'modal';
}
Modal.prototype.show = function() {
document.body.appendChild(this.element);
}
Modal.prototype.hide = function() {
document.body.removeChild(this.element);
}
Modal.prototype.setContent = function(html) {
this.element.innerHTML = html;
}
</script>
<body>
<script>
var modal = new Modal();
modal.setContent('<h4>Это модальное окно</h4>');
</script>
<button onclick="modal.show()">Открыть окно</button>
</body>
Есть готовые реализации, со всякими плюшками. Самая популярная - fancybox (зависит от jQuery). Есть и без зависимостей. |
| Часовой пояс GMT +3, время: 03:19. |