1

您好所有质量编码员和其他人!

我正在使用一个 jquery 脚本(作者:Marco Kuiper - www.marcofolio.net)将图像随机放置在定义的空间内。使用鼠标可以在屏幕上拖动图像,然后单击放大。

问题是在 iphone 上查看页面时,无法拖动图像,因此如果任何图像重叠,则无法轻松点击和放大。我的想法是创建一个随机坐标数组,这些坐标至少与每个图像的宽度相同,同时仍然符合封闭 div 的范围。图像都是相同的尺寸。创建该数组后,使用它的值来定位图像。

这是放置图像的当前脚本:

        $(".polaroid").each
(function ()
    {
    var tempVal = Math.round(Math.random());
    if(tempVal == 1)
        { var rotDegrees = randomXToY(330, 360); } // rotate left
    else
        { var rotDegrees = randomXToY(0, 30); } // rotate right

    var position = $(this).parent().offset();
    var wiw = $(this).parent().width(); // width of div enclosing object
    var wih = $(this).parent().height(); // heiht of div enclosing object

    var leftpos = Math.random()*(wiw - $(this).width()) + position.left;
    var toppos = Math.random()*(wih - $(this).height()) + position.top;

    var cssObj =
        {
        'left' : leftpos,
        'top' : toppos,
        '-webkit-transform' : 'rotate('+ rotDegrees +'deg)',  // safari only
        '-moz-transform' : 'rotate('+ rotDegrees +'deg)',  // firefox only
        'tranform' : 'rotate('+ rotDegrees +'deg)' // if CSS3 is standard
        };
    $(this).css(cssObj);
    }
);

我的脚本技能不足以完成此任务,因此将不胜感激。

谢谢!

4

1 回答 1

0

我需要查看您的 HTML 和 CSS 以帮助进行网格布局,但就 javascript 而言,如果随机旋转就足够了,您可以删除有关定位的部分:

$(".polaroid").each
  (function ()
    {
    var tempVal = Math.round(Math.random());
    if(tempVal == 1)
        { var rotDegrees = randomXToY(330, 360); } // rotate left
    else
        { var rotDegrees = randomXToY(0, 30); } // rotate right

    var cssObj =
        {
        '-webkit-transform' : 'rotate('+ rotDegrees +'deg)',  // safari only
        '-moz-transform' : 'rotate('+ rotDegrees +'deg)',  // firefox only
        'tranform' : 'rotate('+ rotDegrees +'deg)' // if CSS3 is standard
        };
    $(this).css(cssObj);
    }
  );
于 2012-02-02T19:19:50.983 回答