我正在创建一个函数,每次调用它时,1px被减去图像的宽度。我无法弄明白...... 像这样:
var leafCompress = function(){
.css("width" -1 + "px"); //This line is definitely wrong
}
(以下代码正常工作)这里我添加了事件监听器,所以每次单击都会调用leafCompress函数。
leaf.on("click",function(){
leafCompress();
});
答案 0 :(得分:1)
问题来自你的函数leafCompress
$( "#panda" ).on('click', () => {
resize();
});
const resize = () => {
let width = $("#panda").width() - 50; // get the width of the image and substract 50
$("#panda").css("width", width);
}

#panda {
width: 400px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="panda" src="http://r.ddmcdn.com/w_624/s_f/o_1/cx_0/cy_17/cw_624/ch_416/APL/uploads/2014/06/red-panda-09-625x350.jpg" />
&#13;
答案 1 :(得分:0)
我不确定你是否使用jQuery但是,你可以使用jQuery .width函数, css(&#39; width&#39;)函数返回宽度为字符串,即:&#34; 780px&#34;并使用它来设置你通常做的宽度属性.css(&#39; width&#39;,valueToBeSet)
但是,使用jQuery .width函数可以获得相同的结果 $()。width()将返回实际宽度和$()。width(value)将宽度设置为值
答案 2 :(得分:0)
最琐碎的方式:
leaf.click(function(){
var node = $(this);
node.css('width', node.width() - 1 + 'px');
})
如果事件处理程序是一个函数,&#34;这个&#34;指向事件目标。