0

我对编程很陌生,我需要一些帮助才能让这段代码为我正在运行的实验工作(在研究生院)。我希望用户能够通过按左右箭头键来调整图像的不透明度。如果这很重要,我也在 Qualtrics 中这样做。以下 javascript 代码对我不起作用...非常感谢您的帮助!

var op =0.1;
var op1 = 10;
var step = 10;
var min = 0.1, max = 1;
var min1 = 10, max1 = 100;

var image = document.getElementById("image");
image.style.opacity = op;
image.style.filter = alpha(opacity=op1);

Event.observe(document, 'keydown', function(e) {
  if(e.keyCode == 37) {
    op-=step;
    op1-=step;
    op = Math.max(min, op);
    op1 = Math.max(min, op1);
  } else if(e.keyCode == 39) {
    op+=step;
    op1+=step;
    image.style.opacity = Math.min(max, op);
    op1 = Math.min(max, op1);
  }
});
4

1 回答 1

0

我稍微修改了代码,让它在没有其余部分的情况下工作。希望您能够从此使一切正常工作:

var op =0.1;
var op1 = 10;
var step = .1; //changed to .1 from 10
var min = 0.1, max = 1;
var min1 = 10, max1 = 100;

var image = document.getElementById("image");
image.style.opacity = op;
//image.style.filter = alpha(opacity=op1); //removed (implement browser check if IE) 

$(document).on('keydown', function(e) {
  if(e.keyCode === 37) { //made === (preference)
    op-=step;
    op1-=step;
    op = Math.max(min, op);
    op1 = Math.max(min, op1);
    image.style.opacity = Math.min(max, op); //added 
  } else if(e.keyCode === 39) {//made === (preference)
    op+=step;
    op1+=step;
    image.style.opacity = Math.min(max, op);
    op1 = Math.min(max, op1);
  }
});

例子

注意:在点击左/右箭头键之前,您需要单击上results例中的框(右下角)。

于 2013-01-15T19:22:32.890 回答