【发布时间】:2014-03-05 16:35:50
【问题描述】:
我使用 css 转换制作了一个查看器,我目前想知道的是当 div 的边框碰到窗口边框时我可以阻止它移动还是应该放弃转换方法?
这里是代码http://jsfiddle.net/pool4/W2vub/3/
var x=0,
y=0,
rateX=0,
rateY=0,
maxspeed=10;
var container = $('.container');
var w = container.width() / 2;
var h = container.height() / 2;
var center = {
x: container.offset().left + container.width() / 2,
y: container.offset().top + container.height() / 2
};
container.on('mousemove', function(e){
var offsetX = e.pageX - center.x;
var offsetY = e.pageY - center.y;
rateX = -offsetX / w;
rateY = -offsetY / h;
});
container.hover(
function(){
var scroller = $(this).data('scroller');
if (!scroller) {
scroller = setInterval( moveContent, 30 );
$(this).data('scroller', scroller);
}
},
function(){
var scroller = $(this).data('scroller');
if (scroller) {
clearInterval( scroller );
$(this).data('scroller', null);
}
}
);
function moveContent(){
x += maxspeed * rateX;
y += maxspeed * rateY;
var newpos = 'translate('+x+'px, '+y+'px)',
transform = '-webkit-transform' || '-moz-transform' || '-ms-transform' || '-o-transform' || 'transform',
content = $('.content');
content.css(transform ,newpos);
}
【问题讨论】:
标签: javascript jquery css border transform