Javascript 在contenteditable div中使用用户输入设置元素不透明度
我有一个contenteditableJavascript 在contenteditable div中使用用户输入设置元素不透明度,javascript,jquery,css,user-input,contenteditable,Javascript,Jquery,Css,User Input,Contenteditable,我有一个contenteditablediv,我希望用户能够通过键入数字来设置另一个div的不透明度 我在url输入方面没有问题,但在本例中,val或attr都没有成功。我想我无法从html中提取val/attr 如何解决此问题?简单修复: $('#btn').click(function(){ $('#d').css("opacity", $("#set").text() / 100); $('#set').val('"+$("#set").html()+"'); });
div
,我希望用户能够通过键入数字来设置另一个div的不透明度
我在url输入方面没有问题,但在本例中,val或attr都没有成功。我想我无法从html中提取val/attr
如何解决此问题?简单修复:
$('#btn').click(function(){
$('#d').css("opacity", $("#set").text() / 100);
$('#set').val('"+$("#set").html()+"');
});
演示:(在20%不透明度的框中键入20)尝试
$('#btn').click(function(){
$('#d').css("opacity", $("#set").text());
$('#set').html(val('"+$("#set").html()+"'));
});
希望这有帮助我更新了你的小提琴,这是正确的代码: 我还添加了一个检查:如果用户输入了错误的内容(例如“cat”或-3),那么它将发出“错误值”警报,下面是JavaScript代码:
$('#btn').click(function () {
var opacity = +$('#set').text();
if ((opacity === 0 || opacity > 0) && opacity <= 1) {
$('#d').css("opacity", opacity);
$('#set').html('');
} else {
alert('Wrong value!');
}
});
$('#btn')。单击(函数(){
var opacity=+$('#set').text();
如果((不透明度===0 | |不透明度>0)&&opacity您的内容可编辑
不是输入表单,因此它没有val()
。请使用属性.text()获取innerHTML值
改变
$('#d').css("opacity", "val('"+$("#set").html()+"')");
至
$('#d').css("opacity", $("#set").text());
这是工作时间。
更改CSS部件时出错:
使用.text()
而不是.val(),因为它是CONTENTEDITABLE div
第二,你把引号放错地方了
您的JS错误。您需要:
$('#d').css("opacity", $("#set").html());
#d是内容可编辑的div,#set是一个文本框?如果#set是一个文本框,你不应该使用.val()
?这个神秘的val()是什么
您继续使用的功能?还有,单击功能的最后一行是什么?这正是我需要的,谢谢。我还认为键入50比键入0.5好,所以您的答案很准确。我会在网站允许的情况下尽快选择您的答案。
$('#d').css("opacity", $("#set").html());