Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在contenteditable div中使用用户输入设置元素不透明度_Javascript_Jquery_Css_User Input_Contenteditable - Fatal编程技术网

Javascript 在contenteditable div中使用用户输入设置元素不透明度

Javascript 在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()+"'); });

我有一个contenteditable
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());