#jquery #css
#jquery #css
Вопрос:
Теперь у меня есть три флажка и текстовое поле, если я напишу что-то в текстовом поле и установлю флажок жирный, текст должен отображаться с эффектом жирного шрифта, а также курсивом и подчеркиванием без обратной передачи (т. Е. Он должен немедленно отображаться с выбранным эффектом).).
Вот мой код:
Bold:<input type="checkbox" value=""/>
Italic:<input type="checkbox" value=""/>
Underline:<input type="checkbox" value=""/>
<input type="text" value="">
Комментарии:
1. я не думаю, что вы можете стилизовать вводимый текст как подчеркивание, если это так, вы могли бы заменить ввод текста элементом, таким как div
2. На самом деле я пытался использовать этот способ script-tutorials.com/text-animation-jquery-ui-slider и мне нужно то же самое, чтобы использовать его для оформления текста.
Ответ №1:
Вы можете сделать следующее:
<form>
Bold:<input name="textStyle" type="checkbox" value="bold"/>
Italic:<input name="textStyle" type="checkbox" value="italic"/>
Underline:<input name="textStyle" type="checkbox" value="underline"/>
<input name="styledText" type="text" value="">
</form>
<script type="text/javascript">
$('input[name="textStyle"]').change(function(){
if ($(this).val() == 'bold'){
if ($(this).is(':checked')) $('input[name="styledText"]').css('font-weight', 'bold');
else $('input[name="styledText"]').css('font-weight', 'normal');
}
else if ($(this).val() == 'italic'){
if ($(this).is(':checked')) $('input[name="styledText"]').css('font-style', 'italic');
else $('input[name="styledText"]').css('font-style', 'normal');
}
else if ($(this).val() == 'underline'){
if ($(this).is(':checked')) $('input[name="styledText"]').css('text-decoration', 'underline');
else $('input[name="styledText"]').css('text-decoration', 'none');
}
});
</script>
Скрипка здесь: http://jsfiddle.net/tyfsf /
Надеюсь, это поможет!
Комментарии:
1. Большое вам спасибо за то, что разобрались со мной в этой проблеме.
Ответ №2:
Вы можете сделать это с помощью простого CSS и небольшого кода jQuery.
1. Сначала определите свои классы каскадных таблиц стилей
<style type="text/css">
.bold {
font-weight:bold;
}
.italic {
font-style:italic;
}
.underline {
text-decoration: underline;
}
</style>
2.Загрузите jQuery
<script type="text/javascript" src="jquery.js"></script>
3. Напишите функцию для переключения классов
<script type="text/javascript">
$(document).ready(function () {
$('.selector').click(function () {
var checked = $(this).is(':checked');
var value = $(this).attr('value');
if(checked) {
$('#box').addClass(value);
} else {
$('#box').removeClass(value);
}
});
});
</script>
5. Модифицированный html
Bold:<input class='selector' type="checkbox" value="bold"/>
Italic:<input class='selector' type="checkbox" value="italic"/>
Underline:<input class='selector' type="checkbox" value="underline"/>
<br>
<input id="box" type="text" value="">
<br>
ссылка на jsfiddle: http://jsfiddle.net/deepumohanp/t2wKP /
Ответ №3:
Текст внутри ввода не может быть отформатирован таким образом. Вы можете попробовать подделать его с помощью редактируемого div.
<div contenteditable></div>
И используйте jQuery для этого.
Комментарии:
1. На самом деле я пытался использовать этот способ script-tutorials.com/text-animation-jquery-ui-slider и мне нужно то же самое, чтобы использовать его для оформления текста.