Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2014, 01:12
Аватар для SmilingDog
Новичок на форуме
Отправить личное сообщение для SmilingDog Посмотреть профиль Найти все сообщения от SmilingDog
 
Регистрация: 07.11.2014
Сообщений: 8

Отображение скрытого блока в chrome extension
Я делаю небольшое расширение для chrome . По задумке у меня в popup.html два блока и кнопка . Один из них основной и виден . Второй , с дополнительной инфой , скрыт . Если нажимать на кнопку он появляется и исчезает .
Если скрытый блок находится под основным проблем вроде бы нет .
Но если я пытаюсь отобразить его слева от основного получается лесница .


Ни через table-cell и float:left решить не удалось . Как я подозреваю , проблема в размере окна. Однако если задать его изначально больше двух блоков ничего не меняется

Собственно код расширения .
popup.html
<!DOCTYPE html>
<html>
<head>
  <meta content="text/html; charset=utf-8" http-equiv="content-type">
  <link rel="stylesheet" href="style.css">
</head>
<body>
		<div class="basiccontainer">		
			Основной контейнер
			<div id="imsg"></div>
		</div>
		
		<div class="button-block">
			<a class="vbutton" id="hiding_btn">Кнопка</a>
		</div>			
		
		<div class="hiddencontainer" id="hidden_text">
			Скрытый контейнер
		</div>
	
	<script src="functions.js"></script>
	
</html>


style.css
.basiccontainer 
{ 
	margin:10px;
	width:300px;
	height:220px;
	border:solid black 1px;
	text-align: center;
	float:left;
}

.hiddencontainer 
{   
	margin:10px; 
	width:300px;
	height:200px;
	text-align: center;
	border:solid black 1px;
	float:left
}

.vbutton {
	width:30px;
    background: #2E8CE3; /* Цвет фона */
    padding: 20px 10px; /* Поля вокруг текста */
	margin: 10px;
    font-size: 13px; /* Размер шрифта */ 
    font-weight: bold; /* Насыщенность шрифта */
    color: #FFFFFF; /* Цвет шрифта */
    text-align: center; /* Надпись на кнопке по центру */
    border: solid 1px #73C8F0; /* Параметры рамки кнопки */ 
    cursor: pointer; /* Изменение вида курсора при наведении*/
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
}

.button-block {
	float:left;
}


functions.js
function infoButton() {
	var msg = document.getElementById("imsg");
	var hidden_block = document.getElementById("hidden_text");
	var info_btn = document.getElementById("hiding_btn");
	imsg.innerText = "Clicked";
	if(info_btn) {
		if(localStorage["hidden_info"]) {
			localStorage.removeItem("hidden_info");
			hidden_block.style.display="none";
			imsg.innerText = "Hide";
		} else {
			imsg.innerText = "Show";
			localStorage.setItem("hidden_info",1);
			hidden_block.style.display="block";
		}
	}
}

function addWindowCallbacks() {
	var info_btn = document.getElementById("hiding_btn");
	if(info_btn) {
		info_btn.addEventListener("click", infoButton , false);
	}
	
}

document.addEventListener('DOMContentLoaded', addWindowCallbacks,false);


Архив c плагином :
http://my-files.ru/pyh86k

Надеюсь на помощь .
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2014, 01:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

SmilingDog,
<!DOCTYPE HTML>



<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
body, html{
   display: table-row;
}
.basiccontainer
{
	margin:10px;
	width:300px;
	height:220px;
	border:solid black 1px;
	text-align: center;
	 display:  table-cell;
}

.hiddencontainer
{
	margin:10px;
	width:300px;
	height:200px;
	text-align: center;
	border:solid black 1px;
	 display: table-cell;
}

.vbutton {
	width:30px;
    background: #2E8CE3; /* Цвет фона */
    padding: 20px 10px; /* Поля вокруг текста */
	margin: 10px;
    font-size: 13px; /* Размер шрифта */
    font-weight: bold; /* Насыщенность шрифта */
    color: #FFFFFF; /* Цвет шрифта */
    text-align: center; /* Надпись на кнопке по центру */
    border: solid 1px #73C8F0; /* Параметры рамки кнопки */
    cursor: pointer; /* Изменение вида курсора при наведении*/
	writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
    display: inline-block;
}

.button-block {
	display: table-cell;
}

  </style>
</head>

<body>   <div class="hiddencontainer" id="hidden_text">
			Скрытый контейнер
		</div>


		<div class="button-block">
			<a class="vbutton" id="hiding_btn">Кнопка</a>
		</div>
       <div class="basiccontainer">
			Основной контейнер
			<div id="imsg"></div>
		</div>

<script>
    function infoButton() {
	var msg = document.getElementById("imsg");
	var hidden_block = document.getElementById("hidden_text");
	var info_btn = document.getElementById("hiding_btn");
	imsg.innerText = "Clicked";
	if(info_btn) {
		if(localStorage["hidden_info"]) {
			localStorage.removeItem("hidden_info");
			hidden_block.style.display="none";
			imsg.innerText = "Hide";
		} else {
			imsg.innerText = "Show";
			localStorage.setItem("hidden_info",1);
			hidden_block.style.display="table-cell";
		}
	}
}

function addWindowCallbacks() {
	var info_btn = document.getElementById("hiding_btn");
	if(info_btn) {
		info_btn.addEventListener("click", infoButton , false);
	}

}

document.addEventListener('DOMContentLoaded', addWindowCallbacks,false);

</script>
</body>

</html>

Последний раз редактировалось рони, 07.11.2014 в 02:21.
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2014, 04:01
Аватар для SmilingDog
Новичок на форуме
Отправить личное сообщение для SmilingDog Посмотреть профиль Найти все сообщения от SmilingDog
 
Регистрация: 07.11.2014
Сообщений: 8

Большое спасибо
Теперь все действительно работает как я хотел . Правда при этом , по неизвестной причине , игнорируется ширина блоков .
И выглядит все как-то так :


Однако(!) если добавить внутрь существующих блоков вложенные блоки с указанием ширины - все функционирует совершенно как надо
<div class="hiddencontainer" id="hidden_text">
		<div style="width:300px;height:200px;">
				Скрытый контейнер
		</div>
        </div> 

        <div class="button-block">
            <a class="vbutton" id="hiding_btn">Кнопка</a>
        </div>

       <div class="basiccontainer">
	   <div style="width:300px;height:200px;">
				Основной контейнер
            <div id="imsg"></div>
		</div>
        </div>


Наберусь еще наглости спросить : можно ли в принципе получить эффект выдвижения скрытого блока из основного . Т е получить эффект выпадающих вкладок , только не внутрь окна , а наружу ?
Сам код мне не нужен , только примерное направление .
Ответить с цитированием
  #4 (permalink)  
Старый 07.11.2014, 08:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от SmilingDog
можно ли в принципе получить эффект выдвижения скрытого блока из основного .
можно
Сообщение от SmilingDog
. Т е получить эффект выпадающих вкладок , только не внутрь окна , а наружу ?
??? не понял
один блок над другим - left верхнего увеличиваем - нижний стоит на месте - но как бы "выезжает"
2 способ
ширина скрытого 0 overflow: hidden; - увеличиваем ширину
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение скрытого блока из карусели Kasper28 Элементы интерфейса 6 11.02.2014 16:40
Тормозит раскрытие блока в chrome grego Events/DOM/Window 7 13.09.2013 08:51
Неккоректное отображение jquery меню в Google Chrome и Opera Galyanov Opera, Safari и др. 6 25.01.2011 00:26
Некорректное отображение форума в браузерах Chrome и Safari Magneto Сайт Javascript.ru 3 25.11.2010 11:06
размер скрытого блока hangover Общие вопросы Javascript 4 04.12.2009 13:40