从当前的大小,而不是从原始大小的图像

问题描述:

基本上我试图根据一个参数来缩放一个id =“room”的img,这个参数将是+1或-1(以及我想要缩放的常量+ 10%)从当前的大小,而不是从原始大小的图像

我这是怎么想

function scalar(scaleP100){ /* scaleP100 is +1 or -1 (no other posible value)*/ 
        var addX = $('#room').width()*10*scaleP100/100; 
        var addY = $('#room').height()*10*scaleP100/100; 
        var newW = $('#room').width()+ addX; 
        var newH = $('#room').height() + addY; 
        $('img#room').css({'width':newW,'height':newH}); 
        console.log(newW +','+ newH+':'+$('img#room').length); 
        return false; 
} 

这是一个mouswheel检测中,

所以有两个阶段:+ 10%,从原来的大小,和-10% 从原来的大小。我只是不知道为什么它不按比例尺当前尺寸(而不是原尺寸)

我在做什么错?

如果你想看到什么我可能没有解释好,请http://toniweb.us/m/3d/adam.html(但鼠标滚轮在图像之外唯一)

感谢

+0

对不起,但我不明白你的问题?您的演示在我的浏览器中正常工作。 – mddw 2012-03-21 15:28:41

+0

你在问什么?它确实根据当前的大小进行缩放......你想知道为什么会有舍入误差吗? – Andrew 2012-03-21 15:29:27

+0

@mdi它只调整一次(更大或更小),我希望它调整每个鼠标轮的向上或向下(我想无限大小,不仅3),并记住最后尺寸重新规模(它似乎是从计算原始大小的整个时间) – 2012-03-21 15:30:31

你有相同的ID两个元素: < DIV ID = “房间” >和< IMG ID = “房间” > 这应该工作,但我建议你让你的HTML清洁..

function scalar(scaleP100){ /* scaleP100 is +1 or -1 (no other posible value)*/ 
    var addX = $('img#room').width()*10*scaleP100/100; 
    var addY = $('img#room').height()*10*scaleP100/100; 
    var newW = $('img#room').width()+ addX; 
    var newH = $('img#room').height() + addY; 
    $('img#room').css({'width':newW,'height':newH}); 
    console.log(newW +','+ newH+':'+$('img#room').length); 
    return false; 
} 
+0

这很奇怪! spining插件添加相同的图像的id给父母,没有意识到,谢谢! – 2012-03-21 15:34:54