js怎么通过加号使得图片透明度增加,减号使得透明度减少。

JavaScript016

js怎么通过加号使得图片透明度增加,减号使得透明度减少。,第1张

很好做,给加号添加一个事件,每点击一次增加。给减号也添加一个事件,每点击一次减一次。两个事件如下:

//增加

function add(){

    var img=document.getElementById('id')

    var num=$(img).attr('opacity')//获取透明度数(ie是filter = 'alpha(opacity:'+alpha+')')

    var result=0

    if(num<1)result=num+0.1//每次加0.1,好像最大值是1

    if(result>1) result=1

    $(img).attr('opacity',result)//把加过的值赋给图片

}

//减

functuion fun(){

    var img=document.getElementById('id')

    var num=$(img).attr('opacity')//获取透明度数(ie是filter = 'alpha(opacity:'+alpha+')')

    var result=0

    if(num>0)result=num-0.1//每次减0.1,好像最小值是0

    if(result<0) result=0

    $(img).attr('opacity',result)//把加过的值赋给图片

}

具体要你自己调试,我只是给你提供一个思路。

我试图在输入大小正好为2时插入连字符。这是我的密码

但问题是-直到输入第三个字符才出现。虽然连字符的位置正确,但我的意思是在两个字符之后。

如何在输入两个字符后立即获得连字符?

我尝试了onkeyup,但问题是当我按下backspace按钮时,它也会触发。当有两个字符时,会出现连字符,但在这一点上,如果我按backspace并删除连字符,它会立即返回。所以我选择onkeypress

发布于 9 月前

回答

在onKeyPress期间,输入文本框的值始终是更改前的值。这允许事件侦听器取消按键。

要在字段值更新后获取值,请计划在下一个事件循环中运行函数。通常的方法是使用0的超时调用setTimeout:

document.getElementById('numberInput').onkeypress = function() {

// arrow function keeps scope

setTimeout(() =>{

// now it is the value after the keypress

if (this.value.length == 2) {

this.value = this.value + '-'

}

}, 0)

}

<input type="text" id="numberInput">

本站已为你智能检索到如下内容,以供参考:

✿ 相关问答 4 个

React.JS如何使用“onKeyPress”只允许在输入中键入数字

如何使用OnKeypress根据按下的键来使用我的按钮

处理ReactJS中的onKeyPress事件

我的JS代码不工作,我没有看到bug

✿ 相关教程 1 个

JavaScript 入门教程

✿ 推荐阅读 4 个

一个香草JS可定制的选择框/文本输入插件⚡️

在Windows子系统Linux上运行(和不工作)的程序列表

React、Angular、Ember、Vue和纯JavaScript的输入掩码

Javascript应用程序的不可变、异步和混合状态

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

var a = 1

function add() {

a++

document.getElementById("txt").value = a

}

function sub() {

a--

document.getElementById("txt").value = a

}

</script>

</head>

<body>

<div style="width: 80px height: 30px">

<div style="width: 64px height: 30px float: left background: red">

<input id="txt" type="text" style="width: 60px height: 28px"

value="1" />

</div>

<div style="width: 15px height: 30px float: right">

<a onclick="javascript:add()"

style="height: 15px text-align: center background: gray">&nbsp+&nbsp</a>

<a onclick="javascript:sub()"

style="height: 15px text-align: center background: gray">&nbsp-&nbsp</a>

</div>

</div>

</body>

</html>