Я хочу сделать два текстовых поля рядом, которые имеют одну и ту же границу. Затем мы могли бы перетащить границу и изменить ее ширину, сохранив при этом сумму их ширины. Другими словами, это похоже на панели внутри JSBin.Сделайте два текстовых поля рядом друг с другом, используя гибкую границу
Кто-нибудь знает, как это реализовать?
PS: вот код, чтобы сделать два стационарных прокручиваемым бок о бок:
<!DOCTYPE html>
<html>
<head>
<title>JS Bin</title>
</head>
<body>
<textarea name="t1"></textarea>
<textarea name="t2"></textarea>
</body>
</html>
Edit 1: следующий код из index.html
в JSBin. Но я не вижу, как это удается реализовать обмен границы:
<div id="panelswaiting">
<div class="code stretch html panel">
<div role="menubar" class="label menu" tabindex="0"><span class="name"><strong><a href="#htmlprocessors" role="menuitem" class="fake-dropdown button-dropdown">Processor</a></strong></span><div class="dropdown" id="htmlprocessors">
<div role="menu" aria-hidden="true" class="dropdownmenu processorSelector" data-type="html">
<a role="menuitemradio" aria-checked="true" href="#html" data-label="HTML">HTML</a>
<a role="menuitemradio" href="#markdown">Markdown</a>
<a role="menuitemradio" href="#jade">Jade</a>
<a href="#convert">Convert to HTML</a>
</div>
</div>
</div>
<div class="editbox">
<textarea aria-label="HTML Code Panel" spellcheck="false" autocapitalize="none" autocorrect="off" id="html"></textarea>
</div>
</div>
<div class="code stretch javascript panel">
<div role="menubar" class="label menu" tabindex="0"><span class="name"><strong><a role="menuitem" class="fake-dropdown button-dropdown" href="#javascriptprocessors">Processor</a></strong></span>
<div class="dropdown" id="javascriptprocessors">
<div role="menu" aria-hidden="true" class="dropdownmenu processorSelector" data-type="javascript">
<a role="menuitemradio" aria-checked="true" href="#javascript" data-label="JavaScript">JavaScript</a>
<a role="menuitemradio" href="#babel">ES6/Babel</a>
<a role="menuitemradio" href="#jsx">JSX (React)</a>
<a role="menuitemradio" href="#coffeescript">CoffeeScript</a>
<a role="menuitemradio" href="#traceur">Traceur</a>
<a role="menuitemradio" href="#typescript">TypeScript</a>
<a role="menuitemradio" href="#processing">Processing</a>
<a role="menuitemradio" href="#livescript">LiveScript</a>
<a role="menuitemradio" href="#clojurescript">ClojureScript</a>
<a role="menuitem" href="#convert">Convert to JavaScript</a>
</div>
</div>
</div>
<div class="editbox">
<textarea aria-label="JavaScript Code Panel" spellcheck="false" autocapitalize="none" autocorrect="off" id="javascript"></textarea>
</div>
</div>
...
</div>
Edit 2:
после ответа на Ankit vadariya, я сделал a minimum case ... Существует только одна вещь, слева: как обеспечить min-width
от .panel-right
? Это, кажется, не работает на данный момент ...
Один из способов установить max-width
из .panel-left
, но если мы посмотрим на JSBin, нет предела max-width
для каждой панели, в то время как есть min-width
...
Вы пробовали что-нибудь? Посмотрите на это: 'https: // jqueryui.com/resizable /' вам нужно, чтобы ваши текстовые области были на 100% в пределах разделяемых размеров div. – oompahlumpa
Вот [пример] (https://jsbin.com/davedunuho/2/edit?html,output) с 'resizable', я не вижу, как сохранить сумму двух ширины константой. –
Это не то, как работают стандартные текстовые поля. Вы должны создать свой собственный JS, который, вероятно, не тот, который вы на самом деле хотите. – andi